我很菜,使用了開源代碼。。。
先發(fā)幾個WinXP下的截圖:


打開圖像對話框圖像預(yù)覽

簡介:
本作品擁有文字(目前僅限于英文和數(shù)字)識別能力。
擁有大部分主流圖像處理算法,如:高斯模糊,銳化,腐蝕,灰化,等等,足以勝任平時的圖像處理工作。
靈活的繪圖能力,如:繪制文本時,可以設(shè)置背景色及其透明度,設(shè)置背景矩形四角的弧度,設(shè)置文本顏色,像素級精確文本位置,設(shè)置字體,動態(tài)修改文本區(qū)域,等等;顏色填充時,可以將填充限制在選定的區(qū)域內(nèi),可以設(shè)置顏色容差,透明度,等等。
可以從 TWAIN 源(攝像頭,等)獲取圖像。
支持20種圖像文件格式,可以處理100M的大型圖像文件。
精確的幾何繪圖能力,像素級控制幾何圖形。
可將若干圖像整合為一個,整合方式及相對位置可以靈活控制。
等等其它特性。
圖像處理庫是開源庫 CxImage 6.0;
OCR 用了開源 gocr 0.49
開發(fā)工具 VC6.0 , MFC MDI 框架
開發(fā)中的幾點(diǎn)小插曲:
因?yàn)?VC6.0 是破解版的,所以就只好在虛擬機(jī)中開發(fā)(我本機(jī)上的軟件可全都是來源可靠的!!!)。
虛擬機(jī)是 VirtualBox (支持開源,支持免費(fèi)!!),虛擬 Win7 太慢了,還是 XP 實(shí)用。
破解版的 VC6.0 不給力呀,只要編輯 Cursor 資源,系統(tǒng)就會崩潰(虛擬機(jī)中的XP崩潰),郁悶之下,直接編輯 RC 腳本,卻發(fā)現(xiàn)VC自動編輯的有點(diǎn)亂,于是興致來了,將之手工整理了一遍,2K 多行本該由 VC 自動編輯的文件,讓我料理了一遍,我有點(diǎn)多事了。
不得不承認(rèn),Win7 較之 XP 有極大的更新。在圖像上編輯文本的模塊,在 XP 下工作良好,到了 Win7 下就幾乎處于暫停狀態(tài),仔細(xì)一檢查,同樣的API 函數(shù) GetPixel,在 XP 中性能良好,到了 Win7 下就比蝸牛還慢,無奈,回到 XP 中修改,唯一的辦法就是不用這個函數(shù)。
怎么繞過這個函數(shù)呢? 可以把圖像數(shù)據(jù)全取出來放到位圖中,然后訪問位圖嘛,如下
CDC dcMem;
CBitmap bmp;
this->HideCaret();
this->RedrawWindow();
CClientDC dc( this );
dcMem.CreateCompatibleDC( &dc );
bmp.CreateCompatibleBitmap( &dcMem, width, height );
CBitmap *pOldBmp = dcMem.SelectObject( &bmp );
dcMem.BitBlt( 0, 0, width, height, &dc, 0, 0, SRCCOPY );
dcMem.SelectObject( pOldBmp );
然后在 bmp 中取色吧,可是為了讓文本背景透明,必須設(shè)置 pDC->SetBkMode( TRANSPARENT ); ,可是這樣一來,bmp 中全是黑色,沒有意義了。
思來想去,毫無頭緒。。。直到晚上七點(diǎn)多,終于決定,去散步。。。
獨(dú)自一人穿著拖鞋在華師大游蕩。。。我堅(jiān)信自己沒有遇到熟人
九點(diǎn)回來,搞定之。。。
開發(fā)過程還算順利,給老師看看初步成果。然而。。。在老師的機(jī)器上不能正常運(yùn)行,悲劇。。。回來仔細(xì)檢查,確定沒有問題呀。。。于是乎,我開始懷疑 VC6.0 了,Debug 出來的正常,Release 出來就不行,果斷換了一個VC6.0,OK。。。NND 破解版
可以在這里下載,免費(fèi)使用,希望有興趣的同學(xué)一起開發(fā),繼續(xù)增強(qiáng)之。。。。
可執(zhí)行文件 /Files/coreBugZJ/MageX.rar
一個簡陋的使用說明 /Files/coreBugZJ/User.txt