[閒聊] php-gd 與 台鐵數字 ocr

看板PHP作者 (3WA問題解決專家)時間15年前 (2010/07/14 17:21), 9年前編輯推噓6(601)
留言7則, 5人參與, 最新討論串1/3 (看更多)
Dear All~ 範例網址:http://3wa.tw/demo/php/ocr_projects/railway_ocr_final/index.php 因為我把每一步驟所生成的圖片全寫在同一支呈現,所以電腦在解圖上會開很久~ So~試玩者得有點耐心~ 網路上找的到文件老實說不如自己花點時間思考一下處理的方法 簡單的設計流程大概是: 1. 抓取來源圖檔~讀入成gd image 2. 利用四週相近的顏色,去除背景 3. 灰階 , 去除雜點 簡單提一下所謂的雜點我是定義成若自身這個 pixel 以外的四邊都是白色,自身就消失 ~ 4. 將字的範圍定出﹑裁切 5. 將每個字切成各別的圖片 6. 把每個字左右各翻60度,找出黑色出現的最短路徑,如此可找到字是正的 7. --- --- --- --- |5| |2| |3| |1| .... --- --- --- --- 得到每個字在每張圖後,接下來就來作最重要的圖型辨識 不過老實說我也想了好多種方法~ 像是縱﹑橫﹑斜 類似 一條線穿過多少點,或是將筆畫切細有的沒的 但嘗試後總是不盡理想~ 我也曾把每張圖的黑點數累加,也得到很不可靠的資訊 多方思考後,我得出一個結論,既然要電腦習得人類看字,總得教他觀察一個字 於是我嘗試把一個字 橫﹑縱 分出了 8x8 個點 圖片其實滿小的,大概10x10甚至不到這麼大張 所以8x8將會記下大概這些資訊 id num codes... 1 7 11111100 10111100 10111100 10111000 10100100 10011... 2 2 11111100 10111000 10110000 10001000 10001000 00000... 3 8 11111100 10010000 10001100 11101100 11000000 10011... 4 6 11111100 11000000 11000000 10111100 11100000 11100... 5 2 11111100 10111100 10111000 10110000 10001000 10001... 6 7 11111100 11001000 10000000 10111100 11111000 10000... 7 4 11111111 11111011 11110011 10000001 10000000 11111... 8 4 11111100 11110100 11110100 10000000 10000000 11110... 9 3 11111110 11111010 10111010 10101110 10000010 10000... 10 1 11111100 10111100 10000000 10000000 11111100 00000... 於是我開始利用網頁建檔,重新整理﹑建檔 建到目前大概200多筆左右,我得到了70%~85% 的辨識成功率 select distinct num,count(*) from ocr group by num order by num asc num count(*) 0 28 1 17 2 28 3 20 4 24 5 33 6 30 7 28 8 25 9 22 平均每個字大概建檔 20~30次左右不等 總而言之,也算是小小的成功 範例的程式是小弟用 php-gd 實作 因小弟才疏學淺,若有前輩對於影像處理這些有心得方向,希望能多方研究討論 -- 3WA訓練家的工作室 宗旨:諸葛單中,謝謝 個人佈弱格 網址:http://3wa.tw -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.9.79

07/14 17:55, , 1F
可以請問一下去背景是如何做到的嗎^^"?
07/14 17:55, 1F

07/14 18:55, , 2F
辨認數字小弟用過 Neural Network, 當時準確率有九成+
07/14 18:55, 2F

07/14 18:56, , 3F
其實可以在加個擴張的程式碼,這樣較相近的顏色文字
07/14 18:56, 3F

07/14 18:57, , 4F
會比較明顯
07/14 18:57, 4F

07/15 20:00, , 5F
字型去產出0-9的數字,然後圖片弄一樣大小,在比對呢?
07/15 20:00, 5F

07/15 20:06, , 6F
http://www.timteam.org/ 有需要進階討論請移駕..
07/15 20:06, 6F

09/03 23:39, , 7F
推這篇
09/03 23:39, 7F
※ 編輯: shadowjohn (36.233.137.109), 01/01/2017 10:56:30
文章代碼(AID): #1CFO64xx (PHP)
文章代碼(AID): #1CFO64xx (PHP)