機器學習識別電子數字 製作字型檔案

2021-08-13 16:11:28 字數 937 閱讀 3902

最近做了乙個專案,通過機器學習,識別銀行u盾拍照後的數字.整個專案流程製作字型--生成訓練--訓練結果--識別,準備把技術實現分幾篇文章記錄下來,以便後面自己總結檢視.

由於這種電子數字和計算機字型不一致,通過tesseract-ocr識別效果不理想,所以我想通過人工製作字型檔案,然後生成大量的,通過tensorflow機器學習識別電子數字.

機器學習分為有監督學習和無監督學習,一般通俗認為有標籤的為監督學習,無標籤的為有監督學習.作為個人開發者,很難收集到大量的資料,進行人工標註,所以可以通過系統自動生成資料來模擬代替.

下面是我們要識別的,需要從中提取數字,做成字型檔案

一般字型檔案都是白底黑字,所以我們需要二值化,通過photoshop的影象-調整-閥值二值化,選取到最清晰的閥值,如下圖所示

通過photoshop的剪下,去噪音點,修復空白點,生成單個數字

依次生成10個數字的,如下圖所示

開啟fontcreator,新建字型,輸入字型名字,選這不包含輪廓,所以不會出現預設字元,然後通過選擇數字,右鍵,輸入影象,把上述字型乙個乙個引入,調整位置,

匯出truetype font,這樣乙個字型檔案就生成了

機器學習 手寫數字識別系統

需要兩個資料報,裡邊有許多數字影象,像這樣 資料報import numpy as np import operator from os import listdir 分類函式 def classfy0 inx,dataset,labels,k 引數分別為測試樣本,訓練樣本,訓練樣本標籤,近鄰個數 d...

機器學習(二) kNN手寫數字識別

一 knn演算法 1 knn演算法是機器學習的入門演算法,其中不涉及訓練,主要思想是計算待測點和參照點的距離,選取距離較近的參照點的類別作為待測點的的類別。2,距離可以是歐式距離,夾角余弦距離等等。3,k值不能選擇太大或太小,k值含義,是最後選取距離最近的前k個參照點的類標,統計次數最多的記為待測點...

機器學習案例 基於KNN手寫數字識別

演算法介紹 之前已經介紹過,簡單來說,k nn可以看成 有那麼一堆你已經知道分類的資料,然後當乙個新資料進入的時候,就開始跟訓練資料裡的每個點求距離,然後挑離這個訓練資料最近的k個點看看這幾個點屬於什麼型別,然後用少數服從多數的原則,給新資料歸類。演算法步驟 演算法步驟 step.1 初始化距離為最...