杜 聰,杜文華,曾志強(qiáng),王俊元
(中北大學(xué) 山西省先進(jìn)制造技術(shù)重點(diǎn)實(shí)驗(yàn)室,山西 太原030051)
圖像采集系統(tǒng)的性能好壞是整個(gè)機(jī)器視覺檢測能否良好運(yùn)行的先決條件,系統(tǒng)必須快速提供準(zhǔn)確清晰的圖像為后續(xù)的圖像處理做準(zhǔn)備[1-4]。為了實(shí)現(xiàn)對(duì)零件檢測高速高精度的要求,國內(nèi)外學(xué)者提出并優(yōu)化了多種圖像采集系統(tǒng),有效提高了圖像檢測的時(shí)效性[5,6],如具有簡單結(jié)構(gòu)的由圖像采集卡和計(jì)算機(jī)構(gòu)成的圖像處理系統(tǒng),其中常用的方法是,使用Halcon、Matlab等軟件編寫的算法間接調(diào)用圖像采集卡輸出并保存在計(jì)算機(jī)中的圖像,再進(jìn)行顯示和處理[7-10]。但是,這種方法不僅不能體現(xiàn)出圖像采集卡的優(yōu)勢,也無法實(shí)現(xiàn)對(duì)圖像的在線采集和實(shí)時(shí)處理。因此,如何充分運(yùn)用圖像采集卡資源,弱化硬件與工作環(huán)境 (如光照、干擾等)對(duì)圖像采集清晰度的影響,是提高零件檢測系統(tǒng)的測量精度、提高檢測系統(tǒng)效率的重要手段。本文設(shè)計(jì)了一個(gè)圖像實(shí)時(shí)采集系統(tǒng),兼顧攝像機(jī)、圖像采集卡和光源兼容性,運(yùn)用C#能快捷、方便地進(jìn)行圖像處理的特點(diǎn)編輯軟件程序,直接調(diào)用圖像采集卡函數(shù)動(dòng)態(tài)庫進(jìn)行圖像采集,并利用GDI+ (graphics device inter face+)完成圖像的實(shí)時(shí)處理[11]。
本系統(tǒng)采用CCD 逐行掃描像機(jī),分辨率1392×1040像素;數(shù)據(jù)格式Mono8 位或Mono24 位;像素尺寸6.45 um×6.45um。CCD 像機(jī)提供3 個(gè)輸入端口:Input0、Input1和Input2。使用Input0觸發(fā)源時(shí),觸發(fā)電平范圍0V~+5V;使用Input1或Input2時(shí),觸發(fā)電平范圍0V~+12 V;當(dāng)觸發(fā)電平范圍+12V~+24V,需要外接約2KΩ的限流電阻。系統(tǒng)采用IEEE-1394標(biāo)準(zhǔn)串行接口,觸發(fā)電平范圍+9V~+12V,無需外接限流電阻。
輸入信號(hào)經(jīng)過光耦合后,易產(chǎn)生干擾信號(hào)或脈沖引起誤觸發(fā),添加一個(gè)數(shù)字濾波器,濾掉干擾脈沖或毛刺。Input ctl是光耦合信號(hào),Input filter是經(jīng)數(shù)字濾波器的信號(hào),F(xiàn)ilter width是濾波寬度,范圍設(shè)置為0~2000us,本系統(tǒng)設(shè)置為300us。在Input ctl的上升沿,小于Filter width寬度的信號(hào)被濾掉,Input ctl下降沿濾波寬度設(shè)置為1ms,如圖1所示。
圖1 數(shù)字濾波器原理
像機(jī)提供3 個(gè)輸出端口:output0、output1、output2??奢敵鲇|發(fā)允許信號(hào)(trigger ready)、觸發(fā)有效信號(hào)(strobe)、積分信號(hào) (integration)、用戶定義信號(hào) (user set)。本系統(tǒng)設(shè)置輸出:output0為觸發(fā)有效信號(hào),output1為觸發(fā)允許信號(hào),output2為積分信號(hào)。
本系統(tǒng)使用外接交流電源LED 高亮度聚光照明光源。為保證圖像質(zhì)量,要求像機(jī)曝光時(shí)間與外部光源周期相關(guān),如50Hz光源條件下曝光時(shí)間必須是1/100s的整倍數(shù)。即通過設(shè)定攝像機(jī)的曝光時(shí)間確定與外部光源同步的曝光時(shí)間。像機(jī)支持的最小曝光時(shí)間是20us,最長曝光時(shí)間2s,有2種曝光時(shí)間單位:us和ms。本系統(tǒng)設(shè)置曝光時(shí)間為20us。
像機(jī)最高幀率由3個(gè)因素決定:①幀讀出時(shí)間。圖像高度越小,讀出所需的時(shí)間越小,幀率越高。②幀傳輸時(shí)間。1394傳輸所需的時(shí)間越小,幀率越高。③曝光時(shí)間。曝光時(shí)間越小,幀率越高。本系統(tǒng)幀讀出時(shí)間、曝光時(shí)間已自定義設(shè)置,因此影響幀率的主要因素是幀傳輸時(shí)間
式中:AOIH——圖像高度;AOIW——圖像寬度;Trans Delay——用戶設(shè)定傳輸延時(shí),當(dāng)未進(jìn)行圖像處理時(shí),設(shè)Trans Delay=0;packet size是包長;由于DCAM 結(jié)構(gòu)限制,傳輸一幀圖像允許的最大包數(shù)是4095。在分辨率不變的情況下,降低包長,意味著傳輸?shù)陌鼣?shù)增加。如果包長過低,包數(shù)超過4095,數(shù)據(jù)傳輸將會(huì)出錯(cuò)。因此,設(shè)置包長為最大4095時(shí),本系統(tǒng)初始幀率為23fps。
鏡頭采用MLM-3XMP 遠(yuǎn)心鏡頭;PC 采用windows XP 2002系統(tǒng),Pentium (R)Dual-ore E5500 2.8GHz CPU,內(nèi)存2GB;軟件系統(tǒng)使用Visual Studio 2010環(huán)境開發(fā),原理如圖2所示。
圖2 圖像實(shí)時(shí)采集系統(tǒng)原理
本系統(tǒng)在Visual C#平臺(tái)下調(diào)用像機(jī)動(dòng)態(tài)鏈接庫實(shí)現(xiàn)圖像數(shù)據(jù)的采集主要分為5步:
(1)啟動(dòng)可視化樣式,設(shè)定應(yīng)用程序默認(rèn)線程模型是[STAThread]單線程單元。
(2)創(chuàng)建顯示窗口并初始化像機(jī),獲取攝像機(jī)參數(shù):
(3)讀寫程序,調(diào)用動(dòng)態(tài)鏈接庫進(jìn)行圖像數(shù)據(jù)采集:
(4)存放圖像數(shù)據(jù):
(5)處理圖像,實(shí)時(shí)顯示。
Visual C#平臺(tái)有3種圖像處理方法:提取像素法、內(nèi)存法和指針法。本系統(tǒng)直接應(yīng)用指針處理圖像,即將C#語言的Bitmap類轉(zhuǎn)換為指針,通過使用unsafe關(guān)鍵字,處理圖像的每一個(gè)像素,實(shí)現(xiàn)快速灰度化:
由不良照明、電子設(shè)備或傳感器等噪聲影響,將產(chǎn)生高頻噪聲,需對(duì)圖像進(jìn)行卷積處理。本系統(tǒng)采用高斯低通濾波原理,應(yīng)用快速傅里葉變化,把空間域內(nèi)卷積運(yùn)算轉(zhuǎn)變?yōu)轭l域內(nèi)乘積運(yùn)算,并將二維高斯函數(shù)分解為一維,分別對(duì)圖像行和列進(jìn)行卷積運(yùn)算,提高運(yùn)算效率,消除噪聲,保護(hù)圖像邊緣:
數(shù)字圖像邊緣是通過一階導(dǎo)數(shù) (梯度)最大或二階導(dǎo)數(shù)為零的特點(diǎn)來確定的。在研究中采用sobel算子利用一階導(dǎo)數(shù)最大的特點(diǎn)對(duì)圖像進(jìn)行像素級(jí)邊緣定位。sobel算子采用類似卷積方式,將2個(gè)3×3模板在圖像上移動(dòng),計(jì)算每個(gè)像素的梯度值和方向信息。當(dāng)梯度值達(dá)到最大時(shí)為圖像邊緣點(diǎn)。sobel算子特點(diǎn)是計(jì)算量小、速度快,而且能為亞像素邊緣提取提供比較準(zhǔn)確梯度方向:
根據(jù)方形孔徑采樣定理,圖像灰度值是固定時(shí)間間隔內(nèi)CCD 以固定面積對(duì)投射在它感光面上的光強(qiáng)進(jìn)行積分運(yùn)算,由于光學(xué)CCD 的卷積作用和其衍射影響,器件邊緣引起灰度值漸變,為非線性變化過程。放大10倍邊緣的灰度值漸變?nèi)鐖D3所示。
圖3 放大10倍邊緣的灰度值漸變
根據(jù)經(jīng)典邊緣提取原理對(duì)其進(jìn)行差分運(yùn)算后,得到滿足中心極限定理的灰度差分圖,如圖4所示,符合高斯曲線分布,對(duì)其2次取對(duì)數(shù)簡化運(yùn)算,擬合拋物線,得到頂點(diǎn)坐標(biāo)為亞像素插值點(diǎn),即為圖像邊緣提取點(diǎn)。
圖4 圖像邊緣差分
考慮處理速度和算法精度,程序在5×5Viewer 下運(yùn)行:
數(shù)字圖像處理實(shí)質(zhì)為二維矩陣運(yùn)算,如何提高運(yùn)算時(shí)間是算法的關(guān)鍵,為驗(yàn)證采集系統(tǒng)的可靠性,在系統(tǒng)中添加statusStrip控件Timer計(jì)時(shí)器檢測運(yùn)算時(shí)間,建立函數(shù)“public void ShowFrameRate (int 32framerate)”引入式(1)計(jì)算幀率,并使用M5一字槽盤頭螺釘進(jìn)行效果分析。
灰度化3種方法時(shí)速對(duì)比見表1。
表1 3種方法灰度化時(shí)速比對(duì)
從表1數(shù)據(jù)可以看出:提取像素法運(yùn)行速度最慢,時(shí)間開銷長,不適用于實(shí)時(shí)顯示;內(nèi)存法直接對(duì)內(nèi)存中數(shù)據(jù)進(jìn)行處理,速度較快,沒有閃屏現(xiàn)象出現(xiàn),滿足在線處理要求;指針法直接應(yīng)用指針處理圖像,運(yùn)行速度最快,耗時(shí)最短,且沒有丟幀現(xiàn)象發(fā)生,因此指針法最優(yōu)。
指針法灰度化是將每一個(gè)像素點(diǎn)由256×256×256=16777216種色彩變化轉(zhuǎn)化為0~225種色彩變化,降低系統(tǒng)資源占用,使計(jì)算量減少,提升處理速度。如圖5所示,灰度化前螺釘圖像是RGB三色24位圖,為4,344,118 字節(jié),灰度化后螺釘圖像轉(zhuǎn)位8位圖,為1,448,758 字節(jié)。
圖5 放大15倍灰度化后邊緣
系統(tǒng)由于電子器件信號(hào)脈沖,PC 等噪聲干擾,采集圖像不時(shí)出現(xiàn)顯示模糊,紋理邊緣對(duì)比度下降等顯現(xiàn),經(jīng)高斯濾波處理,降低了圖像噪聲,保持了圖像細(xì)節(jié)。濾波除噪如圖6所示。
圖6 高斯濾波前后效果對(duì)比
最后,使用sobel算子進(jìn)行邊緣定位,得到較精準(zhǔn)邊緣后,再利用高斯插值提取亞像素點(diǎn)并進(jìn)行邊界擬合,最終顯示效果如圖7所示。
圖7 圖像采集系統(tǒng)實(shí)時(shí)顯示
本系統(tǒng)在圖像采集時(shí)進(jìn)行圖像的實(shí)時(shí)處理,灰度化處理時(shí)耗時(shí)58.43 ms,幀率到達(dá)23fps;濾波除噪聲耗時(shí)205.28ms,幀率到達(dá)20fps;亞像素邊界擬合耗時(shí)175.73 ms,幀率到達(dá)18fps。最終系統(tǒng)測試幀率達(dá)到18fps,基本滿足實(shí)時(shí)顯示、同步處理要求。
本文使用IEEE-1394標(biāo)準(zhǔn)圖像采集接口卡在Visual C#平臺(tái)上開發(fā)出一個(gè)穩(wěn)定、實(shí)用的圖像采集系統(tǒng)。通過Visual C#直接調(diào)用像機(jī)動(dòng)態(tài)鏈接庫,設(shè)定CCD 像機(jī)硬件參數(shù),完成圖像實(shí)時(shí)采集;并利用GDI+強(qiáng)大的圖像處理功能對(duì)CCD 采集的圖像依次進(jìn)行灰度化、濾波和亞像素邊緣擬合處理。
在系統(tǒng)設(shè)計(jì)時(shí),既考慮傳輸速度,同時(shí)兼顧運(yùn)行速度和精度,在運(yùn)行速度高要求下采用簡單算法,在精度高要求下采用復(fù)雜算法。實(shí)驗(yàn)結(jié)果表明了圖像采集系統(tǒng)能夠以18幀/秒的速度實(shí)時(shí)采集顯示,并有效去除圖像噪聲,保留清晰邊緣,為后續(xù)圖像高精度測量提供了可靠性保障。
[1]LIU Qingmin,ZHAO Ling,WU Xin.CCD image measurement on circular saw blade [J].Acta Metrologica Sinica,2009,30 (z1):103-106 (in Chinese). [劉慶民,趙玲,吳欣.圓鋸片的CCD圖像測量[J].計(jì)量學(xué)報(bào),2009,30(z1):103-106.]
[2]LI Honggang,DU Wenhua,ZENG Zhiqiang,et al.Research on groove width detection of right-angle trapezoidal groove of cylindrical parts based on machine vision [J].Packaging Engineering,2013,34 (3):83-87 (in Chinese).[李紅鋼,杜文華,曾志強(qiáng),等.基于機(jī)器視覺的圓筒形零件直角梯形槽寬檢測研究 [J].包裝工程,2013,34 (3):83-87.]
[3]CHEN Chen.Contour feature detection of cutting tools image[D].Xi’an:Xi’an Technological University,2013 (in Chinese).[陳琛.刀具圖像輪廓特征檢測 [D].西安:西安工業(yè)大學(xué),2013.]
[4]PAN Ming,CHEN Yuanzhi,LI Qiang.FPGA based on the image acquisition system design [J].Foreign Electronic Measurement Technology,2012,31 (3):58-61 (in Chinese).[潘明,陳元枝,李強(qiáng).基于FPGA 的圖像采集系統(tǒng)的設(shè)計(jì)[J].國外電子測量技術(shù),2012,31 (3):58-61.]
[5]Steger C,Ulrich M,Wiedemann C.Machine vision algorithms and applications [M].YANG Shaorong,transl.Bingjing:Tsinghua University Press,2008:218-245.
[6]Song Limei,Wang Mingping,Huang Lulu,et al.High precision camera calibration in vision measurement [J].Optics &Laser Technology,2007,39:1413-1420.
[7]SI Qian,CAI Huaiyu,HUANG Zhanhua,et al.Design of a real-time acquisition system of CMOS image based on USB2.0[J].Electronic Measurement Tecnology,2007,30 (4):117-119(in Chinese). [司騫,蔡懷宇,黃戰(zhàn)華,等.基于USB2.0的CMOS圖像實(shí)時(shí)采集系統(tǒng)設(shè)計(jì) [J].電子測量技術(shù),2007,30(4):117-119.]
[8]YU Zijiang,LOU Hongwei,YU Xiao,et al.Ral-time image acquisition and processing system on LabVIEW [J].Microcomputer Information,2007,23 (5-1):98-100 (in Chinese).[于子江,婁洪偉,于曉,等.LabVIEW 應(yīng)用于實(shí)時(shí)圖像采集及處理系統(tǒng) [J].微計(jì)算機(jī)信息,2007,23 (5-1):98-100.]
[9]CHEN Zhiguo,XU Wenbo.Nondestructive flaw detection system of intelligent robot with machine vision [J].Computer Engineering and Applications,2009,45 (14):12-14 (in Chinese).[陳志國,須文波.機(jī)器視覺智能機(jī)器人無損檢測系統(tǒng)[J].計(jì)算機(jī)工程與應(yīng)用,2009,45 (14):12-14.]
[10]ZENG Zhiqiang,HUANG Pingping.Palmprint recognition using Gabor feature-based two-directional two-dimensional linear discriminant analysis [C]//Proceedings of International Conference on Electronic and Mechanical Engineering and Information Technology.New Jersey Piscataway:IEEE Computer Society,2011:1917-1921.
[11]XU Qifa,ZHU Zhanli.Implementation of digital image processing based on visual C# [J].Modern Electronics Technique,2007,20 (5):121-122 (in Chinese). [徐其法,朱戰(zhàn)立.基于VisualC#.NET 平臺(tái)的數(shù)字圖像處理及其實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2007,20 (5):121-122.]