曹力寧 蔡克新 王起飛
摘要:本文描述了通過對OpenCV的環(huán)境配置,實現(xiàn)液晶面板對位MARK標(biāo)的圖像采集、加載和邊緣檢測等功能,實現(xiàn)了液晶面板切割的精確對位,并給出了具體代碼。
關(guān)鍵詞:OpenCV;液晶面板;圖像處理
中圖分類號:TP319 文獻標(biāo)識碼:A 文章編號:1007-9416(2018)06-0119-02
液晶面板已經(jīng)用于人們?nèi)粘I畹姆椒矫婷?,液晶面板的尺寸也越來越大。通常,我們所說的液晶面板都是從一塊巨大的液晶基板上切割而來的,液晶面板切割精度需達到0.001mm,才能實現(xiàn)面板的精確切割,保證切割的良率。在切割時,需要通過CCD查找液晶基板上的對位MARK標(biāo),來實現(xiàn)切割刀輪對液晶面板的精確對位。與此同時,機器視覺和圖像處理技術(shù)已經(jīng)廣泛應(yīng)用于工業(yè)技術(shù)、醫(yī)學(xué)治療、軍事航空等各個領(lǐng)域[1]。由于視頻圖像處理程序的數(shù)據(jù)量大,要求實時性等特點,如果開發(fā)人員自主開發(fā)程序必定耗費大量時間和精力。所以本文通過OpenCV技術(shù) ,實現(xiàn)了對液晶面板上的對位MARK標(biāo)的精確檢測。
1 OpenCV簡介
OpenCV(Open Source Computer Vision Library)是Intel 公司面向應(yīng)用程序開發(fā)者開發(fā)的計算機視覺庫。它簡單并且方便,由一系列C函數(shù)和少量C++類構(gòu)成,同時可以跨平臺使用,具有很好的兼容性,提供了大量的圖像和機器視覺的處理函數(shù),因此極大地方便了圖像處理和視頻技術(shù)的二次開發(fā)[2]。在VC環(huán)境下進行程序開發(fā),可以大大縮短開發(fā)周期,節(jié)約開發(fā)的成本。本文使用BFLY-PGE-13S2M-CS相機,GIGE-PCIE2-2P02采集板卡,板卡附帶的二次開發(fā)包(sdk)中提供了用于圖像視頻采集的函數(shù),實現(xiàn)了精確采集液晶面板上的MARK標(biāo),從而達到面板的精確定位,MARK標(biāo)識別的一般步驟如圖1所示。
2 基于OpenCV的液晶面板MARK標(biāo)識別程序設(shè)計
2.1 環(huán)境配置
2.2 圖像的加載
不同的圖像,其內(nèi)部的結(jié)構(gòu)也不完全相同,所以通過不同的方法將圖像中的數(shù)據(jù)讀取到計算機的內(nèi)存里。OpenCV的API函數(shù)cvLoadImage可以將圖像數(shù)據(jù)從文件中加載進來,而且不論加載前圖像是什么類型,加載后它返回的都是一個指向IplImage結(jié)構(gòu)體的指針,方便了后續(xù)處理。cvLoadImage的函數(shù)原型為:IplImage* cvLoadImage(const char*filename,int flags=CV_LOAD_ IMAGE_COLOR);返回值為一個指向IplImage結(jié)構(gòu)體的指針。由于圖像數(shù)據(jù)可以當(dāng)作一個二維矩陣,所以,相應(yīng)的邊緣處理可以當(dāng)作是對一個二維矩陣的處理。圖像加載程序如下,圖像加載結(jié)果如圖2所示。
2.3 對位MARK標(biāo)的圖像邊緣檢測
對位MARK標(biāo)的圖像邊緣是MARK標(biāo)上灰度變化最為明顯的地方,其包含了大量的原始圖像信息。邊緣檢測利用對位MARK標(biāo)的這個特點,對圖像的像素點進行求微分,從而可以定位邊緣的像素點,這些點的灰度值變化比較大,把這些點連接起來,就構(gòu)成了線條,這些線條就是圖像的邊緣。對位MARK標(biāo)的圖像邊緣檢測的基本步驟:
(1)濾波。邊緣的檢測主要通過一階導(dǎo)數(shù)和二階導(dǎo)數(shù)的計算,但由于可能會受到噪聲的影響,所以采用濾波器來降低噪聲。
(2)增強。將圖像中灰度值有明顯變化的點突出顯示。這里通過計算梯度幅值來完成。
(3)檢測。在對位MARK標(biāo)的圖像顯示中,有很多梯度幅值較大點,但并不是我們要找的邊緣點,我們通過閾值化的方法來確定和剔除不需要的點。
(4)定位。精確確定邊緣的位置。
對位MARK標(biāo)圖像邊緣的確定和提取對于整個MARK標(biāo)的識別和定位是非常重要的。其中,常用的邊緣檢測的經(jīng)典算子有:Sobel算子、Log算子、和Canny算子等。OpenCV提供了cvSobel函數(shù)和vCanny函數(shù)等進行邊緣檢測。其中,Canny邊緣檢測算法的特點如下:1)高準(zhǔn)確率;2)定位性好;3)響應(yīng)性小。基于以上特點,本程序使用Canny 邊緣檢測算法實現(xiàn)MARK模板的邊緣檢測。Canny算法步驟如圖3所示,圖4為MARK模板邊緣檢測結(jié)果。
3 結(jié)語
本文論述了基于 OpenCV圖像處理算法庫對于液晶面板的對位MARK標(biāo)的圖像采集、存儲和邊緣檢測過程。 使用了采集卡自帶的二次開發(fā)包中的API函數(shù)采集和處理了液晶面板的MARK對位標(biāo),程序運行可靠,易于維護,圖像采集程序已在實際項目中使用。
參考文獻
[1]馮偉興,梁洪,王臣業(yè).Visual C++數(shù)字圖像模式識別典型案例詳解[M].機械工業(yè)出版社,2012.
[2]賈小軍.基于開源計算機視覺庫OpenCV的圖像處理[J].計算機應(yīng)用與軟件,2008,25(4)276-278.
Abstract:This paper describes the functions of the image collection, loading and edge detection of the LCD panel against the position of MARK by the configuration of the OpenCV environment, and realizes the precise alignment of the LCD panel cutting, and gives the specific code.
Key words:OpenCV; LCD panel; image processing