劉志慧


摘 要:自動定位橢圓印章實現的難度在于計算中心、長軸、短軸以及長軸傾角。文中提出一種基于形狀特征的橢圓印章自動定位方法,基于集成開發環境Microsoft Visual Studio 2010,應用微軟基礎類庫MFC設計交互界面設計橢圓印章自動定位系統。首先將彩色圖像進行預處理,去除彩色圖像中的無用信息,然后采用基于曲線弧分割的思想檢測橢圓,將輪廓從交點處分割成弧段,隨機采樣取點求出參數值,準確定位橢圓印章區域。該方法從每一個連續的輪廓弧段中采樣,使無效隨機采樣的概率大大降低。實驗結果表明,本系統可以有效定位橢圓印章。
關鍵詞:印章定位;橢圓檢測;曲線弧分割;隨機采樣
中圖分類號:TP391.41 文獻標識碼:A 文章編號:2095-1302(2018)04-00-03
0 引 言
印章具有權威性,被人們應用于各個領域。采用人工多角度對折法可以識別印章真假,然而這種方法需要借助豐富的經驗來判別,檢測結果具有很強的主觀性[1,2]。如何通過計算機快速準確地識別印章已成為需要迫切解決的問題。利用計算機在識別印章真偽操作之前,對操作區域加以限制,以減少無用信息的干擾[3]。因此,自動定位印章作為判斷印章真偽的關鍵步驟,直接關系到判斷結果的速度和正確性。如何高效地實現印章的自動定位成為識別印章真偽亟待解決的問題[4,5]。橢圓印章在日常生活中比較常見,鑒于此,本文提出了一種橢圓印章定位方法,并設計了橢圓印章自動定位系統。該系統可在用戶干預較少的情況下借助計算機完成橢圓印章的自動定位,為識別印章真偽做好準備。
1 橢圓印章定位算法研究
采集到的測試圖像中,印章區域和背景、文字相互重疊,主要包括紅色的印章圖像和代碼編號、灰色或白色的背景、黑色的文字,我們應盡可能多地保留印章圖像,去除干擾信息[6,7],因此需要對原始的印章圖像進行預處理。在Windows平臺上,基于集成開發環境Microsoft Visual Studio 2010,使用C++語言,并應用微軟基礎類庫MFC設計交互界面[8],實現橢圓印章自動定位。
1.1 預處理
圖像預處理模塊主要負責圖像中紅色分量的提取以及彩色圖像的灰度化、二值化,最終得到細化的輪廓圖。
首先,將圖像的RGB分量值轉化到HSI空間中,給這三個分量分別設定合適的閾值。基于 HSI 模型對圖像進行初步紅色分量提取,將大部分有用信息提取出來,其中紅色分量色度余弦值大于0.94,紅色的飽和度分量大于20%,紅色的亮度分量大于60%[9]。
其次,基于HSI彩色空間模型提取紅色分量得到彩色圖像,雖然彩色圖像包含豐富的圖像信息,但占用空間較多,同時也會增大計算量,因此對彩色圖像進行灰度化并二值化處理[10]。圖像經二值化處理后,目標對象的像素值為1,背景的像素值為0。
最后,基于細化算法由二值圖像得到細化的輪廓圖[11]。將輸入圖像中具有一定寬度的線條縮減為寬度是1個像素的線條,在減少信息量的同時保留原圖像的拓撲結構。
1.2 橢圓印章定位算法基本思想
本文采用基于曲線弧分割的思想檢測橢圓。根據輪廓點間的相互連接性對細化圖像中的輪廓像素點進行跟蹤。跟蹤從起始點開始,將輪廓從交點處分割成弧段,直到所有的輪廓被跟蹤完畢。根據各弧段長度的比例,確定在每段弧上采樣的次數,在每一個連續的輪廓弧段中采樣,求出橢圓參數。橢圓印章定位主要包括曲線弧分割、隨機取點求參數以及確定橢圓位置三部分。
1.2.1 曲線弧分割
分配一個與細化圖大小相同的二維數組記作array。所有的輪廓跟蹤點在array上進行標記,以防止重復跟蹤。如果出現極端異常的大輪廓,超出分配內存的大小,則將整個輪廓標記為異常輪廓。對于輪廓過短的情況,也將其標記為異常輪廓。對于異常輪廓不做進一步處理。
曲線弧分割的具體實現步驟如下:
(1)按從下到上、從左到右的順序掃描輪廓圖,將第一個像素灰度值為1的點作為起始點,新建一個坐標鏈,將此點坐標加入坐標鏈。
(2) 在array數組中的相應位置進行標記,以防止重復跟蹤。
(3)尋找下一相鄰點。按右、右上、上、左上、左、左下、下、右下的順序考察當前點八鄰域的8個方向點。如果當前點的八鄰域中連通點個數大于2,則說明有其他鏈路也通過該點,即輪廓出現分支,將當前點作為新的起始點進行輪廓跟蹤,轉(2);如果當前點的八鄰域中連通點個數大于0且小于等于2,則說明輪廓沒有出現分支,將八鄰域中像素值第一個為1的點置為當前點,若當前點和起始點重合,則表明已經轉了一圈,將當前點在二維數組array的對應位置進行標記,防止重復跟蹤,轉(4)。若當前點沒有與起始點重合,則將此點坐標加入坐標鏈,鏈路長度加1,轉(2);如果當前點的八鄰域中連通點個數為0,則轉(4)。
(4) 輪廓圖中若仍存在像素灰度值為1且未被標記過的點,則轉(1);否則結束,輸出弧段集合。
通過上述步驟可以將輪廓從交點處分開。圖1包括兩個重疊橢圓,黑色點表示相交點,輪廓被分為四個曲線段,分別由四種顏色表示。圖2所示為曲線弧分割應用于實際的橢圓印章圖像效果圖。
1.2.2 隨機取點求橢圓參數
橢圓的一般方程為Ax2+Bxy+Cy2+Dx+Ey+1=0,橢圓參數與中心、長軸、短軸以及長軸傾角之間的關系見式(1):
根據各弧段長度的比例,確定在每段弧上采樣的次數,隨機取點的次數與弧段長度成正比,每條弧段上隨機取點的方法見表1所列。
由于橢圓包含5個未知參數,所以每次采樣都要隨機取5個非共線點。將這5個點(xi,yi)(i=1,2,3,4,5,6)帶入橢圓一般方程,構建線性方程組(2),(3)及(4):
其中,α=[A B C D E]T 。只有當系數矩陣對應的行列式|R|≠0時,原方程組才有唯一解,采用高斯消元法解方程組求出系數A,B,C,D,E,進而由式(1)求得中心、長短軸、長軸傾角以及離心率。若|R|=0,則重新采樣。
1.2.3 確定橢圓位置
統計參數出現次數。橢圓累計函數定義如下:
2 系統測試與結果分析
基于集成開發環境Microsoft Visual Studio 2010,使用C++語言,應用微軟基礎類庫MFC與文檔-視圖結構設計交互界面。類CmainFrame是系統的框架類,負責完成窗口布局管理,運用MFC類庫中的CSplitterWnd類封裝系統窗口所需功能,通過CreateStatic()函數創建窗口,CreateView()函數為每個窗口創建視圖類CFormView。選擇文件功能由類CFileDialog實現,ImageFileReader類對象接收文件的路徑,完成圖像讀入,之后返回一個指向文件的指針。印章定位與配準系統整體界面如圖4所示。
本文設計的橢圓印章自動定位系統中需要的圖片通過掃描儀掃描得到。系統功能測試分為兩部分,分別為預處理模塊和橢圓印章定位模塊。
(1)預處理功能模塊
該模塊主要用于提取輸入圖像中的紅色分量,將圖像灰度化、二值化并細化后得到骨架圖。紅色分量提取測試效果如圖5所示。其中(a)為輸入的RGB彩色印章測試圖像,(b)為提取紅色像素點后的效果圖。將彩色圖像灰度化并二值化,測試效果如圖6所示。圖像細化測試效果如圖7所示。
預處理功能可去除測試圖像中的無用信息,基于印章的顏色特性提取出有用信息,將彩色圖像轉化為二值圖像,并得到細化的骨架圖,減少圖像存儲空間,以便后續操作。從上述測試結果圖可以看出,測試圖像的背景較為復雜,含有不同顏色的文字圖標,紅色像素點除印章外,還包括圖標、底紋等。點擊相應按鈕可以提取出原測試圖中的所有紅色像素點。二值圖像較為準確地將圖像像素點分為前景和背景。基于細化算法將二值圖像轉化為輪廓寬度為1的細化圖像。
(2)印章定位功能模塊
該模塊的目標是計算出參數,基于細化的骨架圖準確檢測出橢圓印章在圖像中的具體位置。橢圓印章定位測試效果如圖8所示,印章在圖中所示的方框區域內。
3 結 語
本文提出了橢圓印章自動定位方法,通過對系統各功能模塊展開詳細測試,驗證該系統功能的正確性。系統能夠有效提取測試圖像中的紅色分量,在灰度圖像上定位出橢圓印章所在的具體位置,減小后續處理區域的面積,對于提高速度、簡化算法具有重要意義,為印章真偽決策打下良好的基礎,具有一定的應用價值。
參考文獻
[1]魏兆兵,魏夢雅.企業印章管理中的法律風險防范[J].秘書之友, 2013, 4(7): 12-13.
[2]趙雅麗.淺析單位印章的規范化管理[J].商場現代化, 2012,6(26): 180.
[3]陳蕊麗.淺談偽造印章的犯罪特點及防偽措施[J].中國品牌與防偽,2004,8(11): 9-12.
[4]秦開懷,王海潁,鄭輯濤.一種基于Hough變換的圓和矩形的快速檢測方法[J].中國圖象圖形學報, 2010, 15(1):109-115.
[5] PRASAD D K, LEUNG M K. Edge curvature and convexity base ellipse detection method[J]. Pattern recognition, 2012, 45(9): 3204-3221.
[6]何瑾,劉鐵根,周怡潔,等.基于邊緣差異的印鑒自動鑒別[J].儀器儀表學報,2010,31(1): 85-91.
[7] BASALAMAH S. Histogram based circle detection[J].International journal of computer science and network security,2012,12(8): 40-43.
[8]張錚,王艷平,薛桂香,等.數字圖像處理與機器視覺-Visual C++與Matlab實現[M].北京:人民郵電出版社,2014.
[9]何瑾.金融印鑒真偽識別新方法研究[D].天津:天津大學, 2010.
[10] BARWICK, SHANE D. Very fast best-fit circular and elliptical boundaries by chord data[J].IEEE Trans. Pattern analysis and machine intelligence,2009,31(6): 1147-1152.
[11]李楠楠,盧榮勝,李帥.基于邊界曲線弧分割的多橢圓檢測[J].計算機應用,2011, 31(7):1853-1855.