王保山 楊夢蘭 紀(jì)芳婷 蔣修琪 紀(jì)超鵬
摘 要:課表圖片區(qū)別于人臉及其他常見的圖像識別對象,而對其信息的提取可使無課表的制作更加便捷。針對課表圖像的視角校正、圖像分割、文字信息提取等問題,本文基于Hough變換和透視變換等常用的圖像處理方法,設(shè)計課表圖片的信息自動提取算法,并結(jié)合實(shí)例,對算法的可行性和實(shí)用性進(jìn)行驗證測試。結(jié)果表明,該算法能夠很好地提取出實(shí)例中課表的課程信息。
關(guān)鍵詞:課表校正;Hough變換;透視變換;無課表制作
中圖分類號:TP751 文獻(xiàn)標(biāo)識碼:A 文章編號:1003-5168(2019)04-0032-04
Schedule-free Making Based on Hough Transform
WANG Baoshan YANG Menglan JI Fangting JIANG Xiuqi JI Chaopeng
(School of Mathematics and Statistics, Henan University,Kaifeng Henan 475000)
Abstract: Schedule pictures are different from faces and other common image recognition objects, and the extraction of information can make the production of no-schedule more convenient. Aiming at the problems of visual angle correction, image segmentation and text information extraction of timetable images, this paper designed an automatic information extraction algorithm for timetable images based on the commonly used image processing methods such as Hough transform and perspective transform, and verified the feasibility and practicability of the algorithm with examples. The results showed that the algorithm could extract the course information of the timetable in an example very well.
Keywords: curriculum correction;Hough transformation;perspective transformation;non-class schedule making
無課表的制作對高校社團(tuán)成員日常活動的安排有著重要意義。但目前,絕大多數(shù)社團(tuán)制作無課表時,采用的都是人工匯總成員的紙質(zhì)課表的方式。對于擁有眾多成員的社團(tuán)而言,無課表的制作往往需要花費(fèi)大量人力和時間,如果能實(shí)現(xiàn)對紙質(zhì)課表信息的自動提取、匯總,建立課程信息數(shù)據(jù)庫,完成無課表的智能制作,就可以達(dá)到節(jié)約人力、提升工作效益的目的。表格圖像處理和經(jīng)典的車牌圖像處理有相似之處,但卻不盡相同。對于表格圖像,其不僅需要進(jìn)行幾何校正、邊緣檢測、直線提取,還需要對處理后的表格進(jìn)行分割,記錄表格區(qū)域塊的位置信息,因此需要設(shè)計新的方法處理表格圖像。本文結(jié)合Canny算子邊緣檢測與Hough變換對圖像感興趣區(qū)域有較強(qiáng)直線特征的表格類圖片進(jìn)行邊緣檢測與直線提取,利用透視變換對圖像進(jìn)行畸變校正。表格圖像具有特殊性,可以對數(shù)字圖像矩陣分別進(jìn)行橫向與縱向線積分,得到局部最小值,從而實(shí)現(xiàn)圖像分割,最后基于模板匹配對圖片進(jìn)行字符識別。
1 圖像的預(yù)處理
圖像的預(yù)處理是數(shù)字圖像處理的必要步驟之一,其主要目的是消除圖像中無關(guān)的信息,恢復(fù)有用的真實(shí)信息,增強(qiáng)有關(guān)信息的可檢測性,并最大限度地簡化數(shù)據(jù)。筆者分別從四個方面詳細(xì)介紹本文所使用的圖像預(yù)處理方法,即圖像增強(qiáng)、邊緣檢測、輪廓提取及圖像校正。
1.1 圖像增強(qiáng)
圖像增強(qiáng),即增強(qiáng)圖像中的有用信息,主要目的是改善圖像視覺質(zhì)量,使圖像更加清晰,或強(qiáng)調(diào)人們某些感興趣的特征。實(shí)際中所遇到的影響圖表圖像質(zhì)量的因素主要是光照不均衡帶來的采集圖像亮度不均勻,此處所做的主要工作為去除圖表圖像中的光照影響,使用的去光照的方法為伽馬校正,即編輯圖像的伽馬曲線,以對圖像進(jìn)行非線性色調(diào)編輯,檢測出圖像信號中深色和淺色的部分,并使兩者比例增大,從而提高圖像對比度效果。
1.2 Canny邊緣檢測
圖像的邊緣是指圖像中亮度差異極大的區(qū)域,即二值圖像中灰度階躍的區(qū)域。利用表格圖像的邊緣可以得到更清晰的邊緣特性,幫助檢測表格線,有助于接下來的圖像邊緣提取和畸形校正。邊緣檢測是對圖片進(jìn)行輪廓提取、圖像校正的必要前提。
傳統(tǒng)的Canny邊緣檢測方法首先需要人工設(shè)定一些參數(shù),在閾值參數(shù)選取方面,自適應(yīng)能力差。本文首先利用自適應(yīng)雙閾值進(jìn)行邊緣檢測和連接(OTSU算法[1]),自動獲取高低閾值,再利用圖像填充,形態(tài)學(xué)的開操作進(jìn)行去噪處理,最后利用Canny算子邊緣檢測。常用的方法還有Robert算子邊緣檢測、Sobel算子邊緣檢測、Prewitt算子邊緣檢測以及LOG算子邊緣檢測等。通過實(shí)際對比,Canny算子邊緣檢測的抗干擾能力更強(qiáng),對邊緣的定位也比較精確和完整,用于圖表圖像邊緣檢測時,有更好的效果。因此,本文采用基于Canny算子的邊緣檢測方法。圖2即為本文使用Canny算子對去噪處理后的課表圖像進(jìn)行邊緣檢測的結(jié)果。
1.3 基于Hough變換的邊緣提取
課表圖像的邊緣大部分以直線的形式呈現(xiàn)出來?;趫D像域的直線提取的優(yōu)點(diǎn)是計算簡單,但對噪聲敏感;基于變換域提取的直線比較連續(xù),對噪聲不太敏感。其中,Hough變換是基于變換域的一種檢測、定位直線和解析曲線的有效方法[2-5]。Hough變換具有存儲空間大、計算時間長的特點(diǎn),此特點(diǎn)隨檢測精度的提高而明顯突出。在對課表圖像進(jìn)行Canny邊緣檢測后,使用Hough變換在測得的邊緣范圍內(nèi)進(jìn)行邊緣擬合,從而達(dá)到邊緣細(xì)化的目的。
通過改進(jìn)Canny算子檢測,得到目標(biāo)圖像的邊緣圖,包含目標(biāo)外邊框的邊緣直線。接著對邊緣圖像進(jìn)行Hough直線檢測[6],可能檢測出其他滿足直線特點(diǎn)的線段,這會給外邊框的定位帶來干擾,因為對此處的表格圖像的參數(shù)設(shè)置為[a+b2%],a為圖像的長,b為圖像的寬。默認(rèn)在這個范圍內(nèi)的直線為同一條直線,獲得目標(biāo)外邊框。
1.4 基于透視變換的畸變校正
邊緣提取和透視變換的組合算法是規(guī)則圖像校正的常用算法,首先通過邊緣提取尋找規(guī)則圖形的頂點(diǎn)(一般為矩形),然后根據(jù)角點(diǎn)信息計算透視變換的變換矩陣參數(shù),從而進(jìn)行透視變換,對圖像進(jìn)行校正。
該過程可建模如下。
設(shè)A為透視變換的變換矩陣,根據(jù)邊緣提取得出的頂點(diǎn)分別為[x1,y1、x2,y2、x3,y3、x4,y4],其對應(yīng)的校正后的頂點(diǎn)分別為[x1,y1、x2,y2、x3,y3、x4,y4]。根據(jù)透視變換前后頂點(diǎn)的關(guān)系,可建立如式(2)所示的方程:
[A=a11 ? a12 ? a13a21 ? a22 ? a23a31 ? a32 ? ?1] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (1)
[x′1=a11x1+a12y1+a13x1y1+a21y′1=a22x1+a23y1+a31x1y1+a32x′2=a11x2+a12y2+a13x2y2+a21y′2=a22x2+a23y2+a31x2y2+a32x′3=a11x3+a12y3+a13x3y3+a21y′3=a22x3+a23y3+a31x3y3+a32x′4=a11x4+a12y4+a13x4y4+a21y′4=a22x4+a23y4+a31x4y4+a32] ? ? ? ? ? ? (2)
求解方程即可得出變換矩陣的參數(shù)[aij],從而進(jìn)行透視變換。
對課表圖像進(jìn)行透視變換后所得結(jié)果如圖4和圖5所示。
2 課表圖像的分割及文字信息的提取
對于一般圖像,進(jìn)行完預(yù)處理后就可直接提取圖中的相應(yīng)信息,但由于課表圖像的特殊性,還需要對表格中的不同區(qū)域塊進(jìn)行分割,從而得到區(qū)域塊的位置,以便記錄對應(yīng)表頭的信息。例如,課程信息中的上課時段、星期都不會在某課程信息欄中出現(xiàn),要想獲得這些信息,就需要定位其在課程表中的位置。
2.1 直線檢測及圖像分割
這里的直線檢測不同于1.3中的基于Hough變換的直線檢測。從圖5可以得出,通過畸變校正后的課表圖像的間隔線已近乎呈現(xiàn)出“橫平豎直”的狀態(tài),因此無需再進(jìn)行二次Hough變換。由于表格的間隔線為黑色的直線,因此,考慮分別對數(shù)字圖像矩陣的所有行(列)進(jìn)行橫(縱)向的線積分,若數(shù)字圖像中的某行(列)存在間隔線,則該行(列)對應(yīng)的線積分結(jié)果為整體線積分結(jié)果的某局部極小值點(diǎn)。如圖6所示,一條間隔線就對應(yīng)整體線積分結(jié)果的一個局部極小值點(diǎn)。通過確定整體線積分結(jié)果的所有局部極小值點(diǎn),就可以確定所有分割線的位置,從而進(jìn)行表格圖像的分割,結(jié)果如圖7所示。
2.2 文字識別
由于分割后的圖像無噪聲干擾,且文字無畸變,識別的又都是印書體字符,因此,本文選取的是一種簡單、易于實(shí)現(xiàn)的方法,即基于模板匹配的字符識別方法。該方法避免了機(jī)器學(xué)習(xí)等方法所需要大量字符訓(xùn)練、實(shí)現(xiàn)較難的問題。
本文進(jìn)行文字識別的前提是模板字符為二值圖像。算法的基本思想為將待識別字符圖像U與字符模板庫中的字符圖像T進(jìn)行“與”運(yùn)算,得到共同部分圖像V;將得到的共同部分圖像與待識別字符進(jìn)行邏輯“異或”運(yùn)算,得到待識別字符圖像多余部分X;將得到的共同部分與模板字符進(jìn)行邏輯“異或”運(yùn)算,得到模板圖像多余部分W。計算每個模板字符圖像M中黑像素個數(shù)t,待識別字符圖像U的黑像素個數(shù)u,U與T共同部分V的黑像素個數(shù)v,W的黑像素個數(shù)w;X中黑像素個數(shù)x。構(gòu)造的判別函數(shù)表達(dá)式為:
[Yi=viwiti×xiu×ti-tuvi2+ui-tuvi2+vi-tuvi22] ? ?(3)
其中,[tuv=t+u+v3]。相似系數(shù)最大[maxY]對應(yīng)的模板M即為待識別字符。
3 結(jié)論
本文針對課表圖像的信息提取問題,為其校正、分割及文字識別設(shè)計了可行算法,首先對圖像進(jìn)行預(yù)處理。在圖像分割方面,沒有使用其他復(fù)雜的直線檢測方法,而是直接確定數(shù)字圖像矩陣橫縱兩方向的線積分,這種方法大大減少了算法的復(fù)雜度,并有較好的分割效果。利用教室課程表進(jìn)行實(shí)驗,整個算法具有較高的適用性。最終通過匯總的課程信息,建立數(shù)據(jù)庫,提取成員某時段有無課程的信息,進(jìn)而匯總出全體成員的無課表,實(shí)現(xiàn)了無課表制作的智能化。
參考文獻(xiàn):
[1]李牧,閆繼紅,李戈,等.自適應(yīng)Canny算子邊緣檢測技術(shù)[J].哈爾濱工程大學(xué)學(xué)報,2007(9):1003-1007.
[2]CANNY J F. A computational approach to edge detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,1986(6):679-698.
[3]張少偉.基于機(jī)器視覺的邊緣檢測算法應(yīng)用與研究[D].上海:上海交通大學(xué),2013.
[4]王化楠. Hough變換在視覺檢測系統(tǒng)中的應(yīng)用研究[D].大連:大連理工大學(xué),2006.
[5] Kiryati N,Eldar Y,Bruckstein A M. A probabilistic Hough transform[J]. Pattern Recognition,1991(4):303-316.
[6]張振杰,郝向陽,劉松林,等.基于Hough一維變換的直線檢測算法[J].光學(xué)學(xué)報,2016(4):166-173.