影象資料預處理(下)
1、 將彩色影象轉換為灰度圖,其中有三種方法:最大值法、平均值法和各比例法。
(1) 最大值法:就是獲取影象中的每一個畫素值,並且分別獲得畫素的RGB個分量值(GetRValue(COLORREF pixel), GetGValue(COLORREF pixel), GetBValue(COLORREF pixel)),然後取三個分量的中最大的一個作為畫素的分量值;
(2)平均值法:取三個分量的平均值作為畫素的分量值;
(3)各比例法:設當前畫素的三分量分別為R,G,B,然後利用如下公式得到轉換後的畫素分量值:0.30 * R + 0.59 * G + 0.11 * B。
2、將灰度圖轉換為黑白圖:利用閾值轉換演算法。
3、利用梯度銳化:使得影象更加突出,以便分析。
演算法:當前點畫素值與其下一個畫素值之差的絕對值,加上當前點畫素值與其下一行當前畫素值之差的絕對值,如果結果大於閾值,則當前畫素值置為此結果。
4、去除離散噪聲:利用遞迴方法查詢當前畫素的八個方向是否存在黑色畫素,我這裡設定連續長度為15,如果用遞迴方法得到連續畫素值大於15,則認為不是噪聲,相反的則認為是噪聲,則置為白色畫素。
5、字元傾斜度調整:儘量儲存每個字元的位置一致。
6、分割字元:找出每個字元的區域,用矩形記錄,記錄每個字元矩形資料。
7、字元歸一化:根據影象預處理的準備階段設定的歸一化標準,把每個字元的區域進行歸一化,使得所有字元區域矩形一樣大,只是位置不一樣罷了;
8、字元緊密排列:把所有字元緊密的排列,以備識別使用。
以上就是數字識別的整個影象預處理過程了。
數字識別-影象處理預處理階段的整個過程程式碼都上傳到CSDN資源上了,標題名為:數字識別-影象預處理階段(VC++程式碼)
如果有需要可以去下載。
參考:http://blog.csdn.net/yangfenghero/article/details/5327719