濮阳杆衣贸易有限公司

主頁 > 知識庫 > 使用python svm實現(xiàn)直接可用的手寫數(shù)字識別

使用python svm實現(xiàn)直接可用的手寫數(shù)字識別

熱門標簽:外呼并發(fā)線路 ai電銷機器人源碼 長沙高頻外呼系統(tǒng)原理是什么 百度地圖標注沒有了 西藏房產(chǎn)智能外呼系統(tǒng)要多少錢 宿遷星美防封電銷卡 ai電話機器人哪里好 地圖標注審核表 湛江智能外呼系統(tǒng)廠家

python svm實現(xiàn)手寫數(shù)字識別——直接可用

最近在做個圍棋識別的項目,需要識別下面的數(shù)字,如下圖:

我發(fā)現(xiàn)現(xiàn)在網(wǎng)上很多代碼是良莠不齊,…真是一言難盡,于是記錄一下,能夠運行成功并識別成功的一個源碼。

1、訓(xùn)練

1.1、訓(xùn)練數(shù)據(jù)集下載——已轉(zhuǎn)化成csv文件

下載地址

1.2 、訓(xùn)練源碼

train.py

import pandas as pd
from sklearn.decomposition import PCA
from sklearn import svm
from sklearn.externals import joblib
import time

if __name__ =="__main__":
    train_num = 5000
    test_num = 7000
    data = pd.read_csv('train.csv')
    train_data = data.values[0:train_num,1:]
    train_label = data.values[0:train_num,0]
    test_data = data.values[train_num:test_num,1:]
    test_label = data.values[train_num:test_num,0]
    t = time.time()

    #PCA降維
    pca = PCA(n_components=0.8, whiten=True)
    print('start pca...')
    train_x = pca.fit_transform(train_data)
    test_x = pca.transform(test_data)
    print(train_x.shape)

    # svm訓(xùn)練
    print('start svc...')
    svc = svm.SVC(kernel = 'rbf', C = 10)
    svc.fit(train_x,train_label)
    pre = svc.predict(test_x)

    #保存模型
    joblib.dump(svc, 'model.m')
    joblib.dump(pca, 'pca.m')

    # 計算準確率
    score = svc.score(test_x, test_label)
    print(u'準確率:%f,花費時間:%.2fs' % (score, time.time() - t))

2、預(yù)測單張圖片

2.1、待預(yù)測圖像

2.2、預(yù)測源碼

from sklearn.externals import joblib
import cv2


if __name__ =="__main__":

    img = cv2.imread("img_temp.jpg", 0)
    #test = img.reshape(1,1444)![在這里插入圖片描述](https://img-blog.csdnimg.cn/20210630133136668.jpg#pic_center)

    Tp_x = 10
    Tp_y = 10
    Tp_width = 20
    Tp_height = 20
    img_temp = img[Tp_y:Tp_y + Tp_height, Tp_x:Tp_x + Tp_width]  # 參數(shù)含義分別是:y、y+h、x、x+w
    cv2.namedWindow("src", 0)
    cv2.imshow("src", img_temp)
    cv2.waitKey(1000)
    [height, width] = img_temp.shape
    print(width, height)

    res_img = cv2.resize(img_temp, (28, 28))
    test = res_img.reshape(1, 784)
    #加載模型
    svc = joblib.load("model.m")
    pca = joblib.load("pca.m")
    # svm
    print('start pca...')
    test_x = pca.transform(test)
    print(test_x.shape)
    pre = svc.predict(test_x)
    print(pre[0])

2.3、預(yù)測結(jié)果

到此這篇關(guān)于使用python svm實現(xiàn)直接可用的手寫數(shù)字識別的文章就介紹到這了,更多相關(guān)python svm 手寫數(shù)字識別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python內(nèi)置數(shù)據(jù)類型list各方法的性能測試過程解析
  • python內(nèi)置數(shù)據(jù)類型之列表操作
  • Python中內(nèi)置數(shù)據(jù)類型list,tuple,dict,set的區(qū)別和用法
  • Python內(nèi)置數(shù)據(jù)類型詳解
  • python基礎(chǔ)教程之基本內(nèi)置數(shù)據(jù)類型介紹
  • 使用Python+OpenCV進行卡類型及16位卡號數(shù)字的OCR功能
  • python計算數(shù)字或者數(shù)組的階乘的實現(xiàn)
  • python數(shù)字轉(zhuǎn)對應(yīng)中文的方法總結(jié)
  • Python數(shù)字/字符串補零操作實例代碼
  • 怎么用Python識別手勢數(shù)字
  • Python的內(nèi)置數(shù)據(jù)類型中的數(shù)字

標簽:林芝 普洱 漯河 盤錦 南平 寧夏 大同 海南

巨人網(wǎng)絡(luò)通訊聲明:本文標題《使用python svm實現(xiàn)直接可用的手寫數(shù)字識別》,本文關(guān)鍵詞  使用,python,svm,實現(xiàn),直接,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用python svm實現(xiàn)直接可用的手寫數(shù)字識別》相關(guān)的同類信息!
  • 本頁收集關(guān)于使用python svm實現(xiàn)直接可用的手寫數(shù)字識別的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    磐安县| 河东区| 石林| 虹口区| 连城县| 出国| 安塞县| 盈江县| 长乐市| 城市| 巴青县| 漳州市| 宁蒗| 霍邱县| 富宁县| 昌黎县| 綦江县| 石阡县| 永年县| 岱山县| 龙州县| 安国市| 马鞍山市| 天祝| 随州市| 江油市| 洪雅县| 迭部县| 屯留县| 沽源县| 阿勒泰市| 靖西县| 普兰店市| 泽普县| 江西省| 台北市| 郎溪县| 常德市| 靖州| 定边县| 泾阳县|