前兩篇有介紹過簡單的認證碼解析,
(解析網頁簡單的認證碼-使用perl,簡單的認證碼captcha分析程式-使用perl),
其實解析認證碼也算是一種圖形辨識(image recognition)的工作,
網路上搜尋一下可以找到有用的工具,
例如tesseract-ocr,
本篇將介紹如何利用ImageMagick和tesseract-ocr來做圖形辨識的工作。
先從網路下抓張圖下來,例如 PinCode.gif
tesseract-ocr支援二進制的灰階或彩色圖檔(如tiff、bmp檔),
而且顏色深度只有支援1,2,4,5,6,8 bpp
所以我們先用ImageMagick將PinCode.gif檔轉成PinCode.tif檔
命令如下:
convert.ext -compress none -depth 8 -alpha off PinCode.gif PinCode.tif
-compress none:圖片不壓縮
-depth 8:色深為8pp
-alpha:不添加alpha圖層
轉換完成後,再利用tesseract-ocr辨識圖像
命令如下:
tesseract.exe PinCode.tif output
轉換結果會自動放在output.txt文字檔裡
辨識的關鍵在於ImageMagick所轉換出來的圖片,
有時需將圖片放大或裁切等
參考資料:
http://muyublog.appspot.com/2010/09/9/imagemagick-tesseract-recognize-verify-code.html
http://www.huangshifu.net/2010/01/29/ocr-stuff.html
- Nov 17 Wed 2010 16:27
以ImageMagick和tesseract-ocr做圖形辨識
close
全站熱搜
留言列表
禁止留言