1 引言
隨著自動化流水線逐漸普及,許多工廠的設(shè)備需要更新?lián)Q代。但是,有些老式的設(shè)備功能完好,如經(jīng)簡單升級改造,仍可發(fā)揮巨大作用,從而提高設(shè)備利用率。
CCD在老式儀表改造中可用于實現(xiàn)老式檢測設(shè)備的實時監(jiān)測功能,利用CCD對傳統(tǒng)的機械表盤進行圖像識別,用計算機代替人眼完成讀數(shù)以及判別工作,減輕了工作人員讀數(shù)并進行數(shù)據(jù)處理等繁雜的工作,提高了監(jiān)測效率,實現(xiàn)了實時在線監(jiān)測及報警。
2 系統(tǒng)工作原理
如圖1所示,該CCD檢測系統(tǒng)主要由CCD攝像機、卡座、光源、圖像采集卡,計算機以及輸出設(shè)備組成。機械表盤和CCD攝像機被卡座固定,卡座內(nèi)部自帶光源,以防止外部環(huán)境變化影響圖像質(zhì)量,得到相對穩(wěn)定的圖像,簡化計算機處理過程,使軟件更加簡單可靠。得到的圖像通過圖像采集卡進行A/D轉(zhuǎn)換.傳輸?shù)接嬎銠C進行軟件處理和識別,由計算機對獲得的圖像進行讀數(shù)并對采集數(shù)據(jù)進行檢測、監(jiān)控等工作。
由于該設(shè)備把機械表盤的信息自動讀取到計算機里,因此,用計算機替代人工進行諸多處理工作。如,多次讀數(shù)進行誤差分析和處理;設(shè)置值進行預(yù)警監(jiān)控;可遠(yuǎn)程自動監(jiān)控危險場所等。
3 選擇相關(guān)硬件設(shè)備
3.1 光源選擇及卡座設(shè)計
可選數(shù)只LED發(fā)光二極管均勻安裝在卡座內(nèi)壁四周;也可選圓環(huán)狀、照度好的節(jié)能燈管,避免光源直射CCD鏡頭,光源面對CCD鏡頭的一面要有遮擋。這樣設(shè)計光源和卡座,可以保證光線能均勻的照在表盤上,有利于CCD獲得高質(zhì)量的圖像,防止部分CCD單元出現(xiàn)飽和現(xiàn)象使圖像部分泛白而影響圖像處理。
3.2 CCD及鏡頭選取
根據(jù)表盤本身精度選擇CCD,保證圖像能分辨表盤最小刻線,且表盤屬于小視場,故選擇小尺寸一般分辨率的CCD即可。CCD鏡頭配合表盤大小及視場選取,計算公式如下:
同理:
式中,L為視場,HL為視場的水平方向,VL為視場的垂直方向,f為焦距。
4 圖像處理軟件的設(shè)計
由于表盤離CCD鏡頭近、視場小,屬于近軸光成像,圖像形變小。預(yù)先處理可只進行簡單地濾波去噪。由于VC++簡便快捷,因此,處理程序以Windows操作系統(tǒng)為平臺,在VC++的環(huán)境下開發(fā)。
5 邊緣檢測
通過邊緣檢測可得到表針的邊緣信息,使圖像的輪廓更加突出,同時邊緣以外區(qū)域保持原樣。邊緣檢測與增強處理削弱了圖像的低頻部分,處理后的圖像亮度保持不變,像素值變化緩慢的區(qū)域保持不變,而像素值變化劇烈的區(qū)域被突出。常用的邊緣檢測方法有平移和差分邊緣增強、梯度方向邊緣增強、Laplace邊緣增強和Sobel邊緣檢測。
5.1 Robert檢測算子
Robert算子是在2×2鄰域上計算對角導(dǎo)數(shù),即:
5.2 Krisch邊緣檢測算子
Krisch邊緣檢測算子使用8個模塊來確定梯度幅度值和梯度的方向,即表示為:
如上所示,該算子對圖像中的每個點都用8個卷積核進行卷積,每個卷積核對某個特定邊緣方向作出最大響應(yīng),所有8個方向中的最大值作為邊緣圖像的輸出。
Krisch算子是一階微分算子,用于檢測圖像的階躍性邊緣,算法簡單、編程方便,對帶噪聲的邊緣較敏感,有時會造成假輪廓或生成某些并不存在的邊緣點,對于屋頂型邊緣無效,其效果圖加圖3所示。
該Laplace算子的零交叉點也可作為圖像的階躍型邊緣點,而其極小值點可作為圖像的屋頂型邊緣。同時,由于噪聲點對邊緣檢測有一定影響,所以該算子是效果較好的邊緣檢測器,其效果圖如圖4所示。
5.4 Sobel檢測算子
Sobel檢測算子是由兩個卷積形成,即:
該算子將方向差分運算與局部平均相結(jié)合,在以f(x,y)為中心的3×3的鄰域上計算x和y方向的偏導(dǎo)數(shù),即:
(5)
式(5)應(yīng)用了f(x,y)鄰域的圖像強度的加權(quán)平均差值。其梯度幅度為:
Sobel算子認(rèn)為,鄰域的像素對當(dāng)前像素產(chǎn)生的影響不是等價的,所以距離不同的像素具有不同的權(quán)值,對算子結(jié)果產(chǎn)生的影響也不同。一般距離越遠(yuǎn),產(chǎn)生的影響越小。其效果圖如圖5所示。
6 儀表盤的示值圖像處理的相關(guān)算法
儀表盤的示值圖像處理的相關(guān)算法主要包括二值化處理、投影法識別等。為了從復(fù)雜圖像中提取特定的區(qū)域和信息。需要對圖像進行簡化和分割,將背景(不感興趣的區(qū)域)和物體(感興趣的區(qū)域)分開。
最常用的圖像分割方法是把圖像灰度分成不同的等級,然后用設(shè)置灰度門限(閾值)將圖像二值化,分割出有意義的區(qū)域,使得有用的信息均轉(zhuǎn)換為黑色,而無用的信息被剔除轉(zhuǎn)換為白色。對指示表圖像來說有意義的區(qū)域是灰度值較小(較暗)的指針,而其他灰度值較大(較亮)的表盤是不感興趣的區(qū)域。由于實際情況下指示表的指針和表盤問有較大的對比度,因此在均勻的光照條件下,很容易自動搜索出一個較為合理的閾值將圖像二值化,灰度值大于該閾值的點變?yōu)榘咨?,否則變?yōu)楹谏?br /> 該設(shè)計系統(tǒng)采用如下閾值選取算法:首先隨機確定一個閾值T(T≠0),然后分別求出灰度大于T的像素的灰度平均值v1和灰度小于T的像素的灰度平均值 v2;再求出T'=(v1+v2)P2。確定一個終止條件,如ε=0.001,判斷是否|T'-T|<ε。如果不滿足,則用T'代替T繼續(xù)進行下一輪運算;如果滿足,則跳出循環(huán),且以T'作為最終的閾值。
將二值化后的表盤圖像中的各個像素從中心沿半徑向圓周投影,投影的長度代表該方向上黑色像素的個數(shù),投影最長的點應(yīng)是指示表指針?biāo)诘奈恢?,找到該點就可以通過對應(yīng)關(guān)系求出指示表的讀數(shù)。
7 結(jié)束語
該系統(tǒng)硬件部分簡單,軟件算法可靠性高,具有很高的通用性,對于不同的機械表盤,根據(jù)不同的需求添加相應(yīng)的程序功能模塊,選擇不同口徑的卡座,經(jīng)簡單調(diào)試就可以使用。簡便易實現(xiàn),在生產(chǎn)過程中具有廣泛的應(yīng)用價值。