(廣東工業(yè)大學 廣東 廣州 510006)
角點被普遍認為是二維圖像亮度變化劇烈或者圖像邊緣曲線上曲率極大值的點[1]。角點檢測廣泛應用于特征提取、圖像拼接、形狀分析、圖像匹配(FPM特征點匹配)、相機標定等領域。目前,角點檢測技術可以分為兩類:一種是基于圖像灰度的方法,如Susan算法[2],Harris算法[1]等;另一種基于輪廓的方法,如Kitchen算法[3]。第一類算法對噪聲比較敏感,存在檢測精度和準確率的缺點。第二類算法比較依賴邊緣線,魯棒性不高。
本文針對表格文檔的交叉點特征提取,對Harris角點檢測算法進行優(yōu)化,將計算灰度變化的矩形窗口函數(shù)改為十字形窗口函數(shù),減少了計算量,提高了交叉點的檢測精度和準確率。通過實驗對改進后算法進行驗證。
Harris算法原理是計算圖像窗口W沿任意方向移動后的計算灰度變化。設以像素點(x,y)為中心的小窗口在X和Y方向上移動分別u和v,則灰度變化量解析式為:
將Ex,y化為二次型:Ex,y=[u,v]M[u,v]T
定義角點響應函數(shù)R(x,y)=det(M)-k(trace(M))2
其中,det(M)為矩陣M的行列式,trace(M)為矩陣的跡,k為經(jīng)驗值,一般取0.04。當目標像素點的R值大于給定閾值時,則該店像素點為角點。
為了提高Harris算法對表格交叉點的檢測精度和效率,本文對計算像素點矩形鄰域用到的窗口函數(shù)wx,y改進為十字形窗口函數(shù)wx,y。如圖1所示,原始算法使用9*9的矩形窗口函數(shù),改進后算法使用同等規(guī)格的十字形窗口函數(shù)。圖中每個小格代表一個像素點,黑色格子表示目標像素點,白色格子代表鄰域像素點。
圖1
圖2
為了驗證本文改進算法的有效性,利用表格圖片進行驗證。本實驗中,在PC(Intel(R)Core(TM)i5-4200M CPU @ 2.50GHz、4.0GB內(nèi)存)機上用Visual Studio 2012進行實驗。窗口分別取9*9矩形窗口和與之對應的十字形窗口。實驗結(jié)果如下:
圖3 矩形窗口
圖4 十字形窗口
由實驗結(jié)果統(tǒng)計可得下表1:
表1 實驗結(jié)果對比
由表可知,改進后的Harris算法有更高的精度和更高的準確度。原始算法易受表格文字的干擾而出現(xiàn)很高的誤檢率,而改進后的算法魯棒性更強。
原始的Harris算法易受表格文字等干擾而存在誤檢率高的缺陷。通過將窗口函數(shù)修改為十字形窗口,更好地擬合表格直線交叉點的特征,提高了表格交點的檢測精度和準確率,并且降低了文字等噪聲的干擾,具有更好的魯棒性。實驗證明了本文方法的有效性和準確性。