訓練家的佈弱格-Patch1.2

The BLOG of trainer



編輯日期:2010-07-14 17:26

類型:網頁設計心得
作者:羽山
文章時間:2010-07-14 17:26:04
瀏覽人數:4494人
標題: 影像數字辨識 ocr
網址:https://3wa.tw/blog/blog.php?id=1064
內容:
 

Dear All~

範例網址:http://3wa.tw/produce/ocr/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 實作

因小弟才疏學淺,若有前輩對於影像處理這些有心得方向,希望能多方研究討論

 

首頁  上十頁  上一頁  1 下一頁    最末頁 (總共有...1頁)

第 1 頁

有話要說  看留言 【2】
其他分類
當月訓練
(2010-07-31)
【網誌】螺絲滑牙攻牙工具心得

(2010-07-15)
【網頁設計心得】在 PHP 中 debug 的小技巧

(2010-07-14)
【網頁設計心得】影像數字辨識 ocr

最新訓練
(2024-03-09)
【HONDA CBR1000RR】CBR1000RR 原廠管

(2024-02-24)
【NSR 150】NSR150 整理後卡鉗

(2024-02-14)
【機車綜合相關】買了牧田的打氣機與心得

(2024-02-10)
【NSR 150】NSR150 整流器接頭重作

(2024-02-09)
【機車綜合相關】鋰電、鋰鐵電池、電源充電器

(2024-01-07)
【NSR 150】NSR150 貨架耳朵斷裂維修

(2024-01-06)
【KTM 390】KTM Duke390 維修發電問題 電盤內仁

(2023-12-29)
【NSR 150】NSR150 改可調拉桿

(2023-11-20)
【遊戲 / 生活】防盜洗手罐

(2023-11-17)
【KTM 390】KTM Duke390 製作鋰鐵電池