国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python實現基于SVM手寫數字識別功能

2020-02-16 11:22:42
字體:
來源:轉載
供稿:網友

本文實例為大家分享了SVM手寫數字識別功能的具體代碼,供大家參考,具體內容如下

1、SVM手寫數字識別

識別步驟:
(1)樣本圖像的準備。
(2)圖像尺寸標準化:將圖像大小都標準化為8*8大小。
(3)讀取未知樣本圖像,提取圖像特征,生成圖像特征組。
(4)將未知測試樣本圖像特征組送入SVM進行測試,將測試的結果輸出。

識別代碼:

#!/usr/bin/env pythonimport numpy as npimport mlpyimport cv2print 'loading ...'def getnumc(fn): '''返回數字特征''' fnimg = cv2.imread(fn) #讀取圖像 img=cv2.resize(fnimg,(8,8)) #將圖像大小調整為8*8 alltz=[] for now_h in xrange(0,8):  xtz=[]    for now_w in xrange(0,8):   b = img[now_h,now_w,0]   g = img[now_h,now_w,1]   r = img[now_h,now_w,2]   btz=255-b   gtz=255-g   rtz=255-r   if btz>0 or gtz>0 or rtz>0:    nowtz=1   else:    nowtz=0   xtz.append(nowtz)   alltz+=xtz return alltz #讀取樣本數字x=[]y=[]for numi in xrange(1,10): for numij in xrange(1,5):  fn='nums/'+str(numi)+'-'+str(numij)+'.png'  x.append(getnumc(fn))  y.append(numi) x=np.array(x)y=np.array(y)svm = mlpy.LibSvm(svm_type='c_svc', kernel_type='poly',gamma=10)svm.learn(x, y)print u"訓練樣本測試:"print svm.pred(x)print u"未知圖像測試:"for iii in xrange (1,10): testfn= 'nums/test/'+str(iii)+'-test.png' testx=[] testx.append(getnumc(testfn)) print   print testfn+":", print svm.pred(testx)

樣本:

結果:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 肥城市| 道孚县| 高邑县| 北流市| 文成县| 芜湖县| 景泰县| 巴中市| 承德县| 昌都县| 巍山| 盖州市| 内黄县| 大关县| 南江县| 广德县| 临漳县| 大埔区| 万载县| 云林县| 林州市| 榕江县| 德令哈市| 江油市| 泽州县| 富川| 土默特左旗| 繁峙县| 屏东市| 丰都县| 和平县| 老河口市| 宜州市| 新营市| 郸城县| 孝义市| 勃利县| 莱西市| 木兰县| 延吉市| 宜丰县|