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