国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Halcon的汽車連桿工件WD-2的圖像處理方法研究

2022-01-28 04:31:28丁建軍朱勇杰馬俊智
計算機應(yīng)用與軟件 2022年1期
關(guān)鍵詞:直方圖高斯灰度

丁建軍 蘇 通 朱勇杰 馬俊智 孫 超

(江漢大學(xué)物理與信息工程學(xué)院 湖北 武漢 430056)

0 引 言

圖像處理技術(shù)發(fā)展至今,形成了多種方法,使人們可以根據(jù)實際需求選擇。野外失火時需要檢測火焰發(fā)生地點,用到基于火焰顏色像素值的通道檢測法,這種方法由于涉及到多種閾值的設(shè)定而效率較低[1];進行路面裂紋檢測時用到的方向可調(diào)濾波方法,是一種方向可選的卷積算法,本質(zhì)上則是2D高斯濾波,這種方法會造成一定程度的邊緣模糊[2];常見的是自動化生產(chǎn)中機械手對工件的識別抓取,獲取的圖像常用中值濾波進行處理,當工件邊緣細節(jié)不明顯時也能較好地去除噪聲,然而在處理細節(jié)較多的工件時表現(xiàn)不甚理想[3-5]。

Akar等[6]用Matlab軟件對圖像濾波方法進行了比較分析。各種方法的優(yōu)缺點在一種五金工件的圖像處理過程中也有提及,遺憾的是,文章中選擇的方法是常用方法——中值濾波[4]。根據(jù)以上比較分析,考慮一種方法可以在圖像處理時模糊其他不重要的區(qū)域,強化邊緣和細節(jié)部分。

得益于計算機軟件技術(shù)的快速發(fā)展,圖像處理可以通過很多程序?qū)崿F(xiàn),其中Halcon軟件擁有很多功能強大的算子,通過組合使用能夠達到我們的目的[7-9]。早前,Kamei等[10]在濾波設(shè)計理論方面就提供了幫助,現(xiàn)在本文結(jié)合該理論和Thi等[11]的機器學(xué)習(xí)思維模式,對高斯濾波進行優(yōu)化,將其加入一個新規(guī)則后,設(shè)置合理閾值和步長進行測試。最后結(jié)合現(xiàn)在的圖像處理技術(shù)進行特征提取[5,12-13],實現(xiàn)目標。

1 Halcon圖像濾波方法

1.1 常用濾波方法比較

Halcon中包含的的濾波方法很多,通過比較常用的三種濾波方法找到基本思路和改進點。表1中列出了這三種濾波方法的原理和特點。

表1 三種濾波方法比較分析

三種濾波方法的公式化描述依次如式(1)-式(3)所示。

(1)

g(x,y)=med{f(x+k,y+l),(k,l∈W)}

(2)

(3)

式中:g(x,y)和f(x,y)分別代表坐標(x,y)位置經(jīng)過處理后和處理前的圖像像素值;m代表鄰域窗口點的數(shù)量;med代表取中值;W是鄰域窗口大小,通常是3×3或5×5;(x+k,y+l)代表該鄰域窗口里不同位置點的坐標值;σ是鄰域窗口里像素值的標準差。

不采用均值濾波和中值濾波是因為汽車連桿工件WD-2的細節(jié)部分比較多,這兩種方法在去噪的同時容易破壞細節(jié),使特征識別趨于困難。

權(quán)重因子的加入使高斯濾波在處理圖像細節(jié)方面更具有合理性,離目標像素越近的點對最終結(jié)果的貢獻越大,然而圖像的整體出現(xiàn)模糊現(xiàn)象,不能有效突出工件邊緣輪廓,所以特征識別就仍然有改善的空間。

1.2 改進方法設(shè)計

從上面三種常用濾波方法可以看出,濾波的思路是用模板中特定的像素值來替換模板中心點的像素值。而高斯濾波表現(xiàn)相對較好是因為加入了權(quán)重因子,從這個思想出發(fā),研究一下高斯濾波權(quán)重的分布,其公式化描述如下:

(4)

(5)

式中:c是基于原像素點空間距離的權(quán)重函數(shù);kd是用來將結(jié)果進行單位化的功能函數(shù)。

高斯濾波中加入的是與空間距離相關(guān)的權(quán)重因子,如果對某一圖像的全局采用這種加權(quán)計算,必然會引起全圖的模糊。思考的方向是,在汽車連桿工件WD-2的邊緣處強化某一種濾波處理,而在其他背景里弱化這種處理。于是新的權(quán)重分布加入進來以便解決這個問題,這個權(quán)重分布比較可靠的是像素間相似度,因為工件邊緣與背景的像素值差別通常很大,意味著可以將邊緣有效強化,新規(guī)則加入后的公式化描述如下:

(6)

(7)

式中:s是基于原像素點相似程度的權(quán)重函數(shù);k為將結(jié)果進行單位化的功能函數(shù)。

加入這個權(quán)重后,像素值相差大的地方(汽車連桿工件WD-2邊緣部分)會被直接分辨出來,從而使工件輪廓變得清晰;圖像中的其他區(qū)域因為像素間相似度很高,新權(quán)重因子的值接近1,則相當于進行高斯濾波。然而由于權(quán)重因子的增加,算法的效率會有所降低,實驗中利用圖像的一些特性設(shè)置不同閾值,將函數(shù)分解,來實現(xiàn)方法的加速。

灰度最大化處理方法選用直方圖法,由于將圖像中相同灰度值的點放在一個直方圖中,所以計算代價較小,利用了這種方法在灰度最大化處理中的高效率性。

最后的特征提取選用Halcon中的累計直方圖方法,這個方法的好處是確定一個閾值后,采用機器學(xué)習(xí)思維模式,設(shè)置一個合理步長,不斷嘗試后能得到較理想的另一閾值,同一環(huán)境下的后續(xù)實驗均可以設(shè)置為相同的閾值。

2 實驗過程與分析

本文研究路線如圖1所示。

圖1 研究路線

2.1 圖像采集

本文利用已有的機器視覺檢測系統(tǒng)獲取工件圖像,檢測系統(tǒng)如圖2所示。

圖2 機器視覺檢測系統(tǒng)

圖2中各設(shè)備參數(shù)及工作條件如下:計算機的處理器頻率為3.40 GHz,雙目相機為德國Basler相機,相機分辨率1 280×960,使用鏡頭視角8 mm,兩相機水平距離120 mm,相機豎直放置,距離待測工件平臺450 mm。獲取圖像時的具體環(huán)境為:實驗室面積30 m2,六盞40 W日光燈正常照明。待測工件所在平臺的反光會使相機接收到的光照亮度不均勻,從而產(chǎn)生一些高斯噪聲。圖像獲取方法為:將工件擺放在相機下方平臺上,對該工件連續(xù)拍攝2幅圖片,作為對比實驗的原始圖像A1、B1,然后將該工件擺放其他位置重復(fù)操作,直到獲取100幅原始圖像。圖像的前期處理為:將圖像像素統(tǒng)一設(shè)置成800×600,按位置信息分成兩組,依次為A1、A2、A3、…、A50,B1、B2、B3、…、B50。選擇原始圖像A1作為對比實驗的處理對象進行說明,原始圖像如圖3所示。

圖3 待測工件原始圖像

2.2 高斯濾波實驗

先用高斯濾波方法來對圖像進行處理,試圖消除噪聲,主要的程序為:

gauss_filter(Image,ImageGauss,5)

算子中最后一個值設(shè)置的是濾波器大小,值越大,則分配權(quán)重越均勻,圖形越平滑,但同樣意味著圖像會更模糊,增益大于5時容易導(dǎo)致濾波溢出,輸出效果不理想,所以實驗中選取Size=5。

將得到的圖片ImageGauss進一步做二值化處理,主要的程序為:

equ_histo_image(ImageGauss,ImageEquHisto)

scale_image(ImageEquHisto,ImageScaled,1.0,0)

equ_histo_image將圖像灰度直方圖均衡化,scale_image中的后兩個值Mult和Add根據(jù)最佳選取規(guī)則確定,實驗中通過式(8)和式(9)計算得出。

Mult=255/(Gmax-Gmin)=1.0

(8)

Add=-Mult×Gmin=0

(9)

式中:Gmax和Gmin分別是圖像的最大像素值和最小像素值。

最后進行工件輪廓提取,選取工件前半部的圓作為特征,主要的程序如下:

edges_sub_pix(ImageScaled,Edges,‘canny’,1,10,43)

這個算子存在兩個閾值,實驗中通過灰度直方圖中像素值的分布確定低閾值為10后保持不變,對高閾值設(shè)置步長為1,從10開始增加,不斷嘗試得到較理想的高閾值。

最后得到的結(jié)果如圖4-圖8所示。

圖4 ImageGauss

圖5 ImageScaled

圖6 ImageGauss灰度直方圖

圖7 ImageScaled灰度直方圖

圖8 特征提取1

2.3 改進方法濾波實驗和結(jié)果分析

實驗步驟與高斯濾波實驗相同,開始時調(diào)出圖像灰度分布,鎖定程序應(yīng)用窗口范圍,在濾波程序中用到改進方法,核心程序為:

bilateral_filter (Gj,Gj,ImageBilateral,5,20,[],[])

equ_histo_image(ImageBilateral,ImageEquHisto)

scale_image(ImageEquHisto,ImageScaled1,1.0,0)

edges_sub_pix(ImageScaled1,Edges,‘canny’,1,12,41)

程序說明及相關(guān)參數(shù)選擇情況如下。

bilateral_filter稱為雙邊濾波算子,在原有的高斯濾波中加入了連接圖像進行過渡,連接圖像一般為原始圖像,可以凸顯邊緣,同時模糊其他區(qū)域。第一個參數(shù)值代表的是高斯濾波器大小,考慮到平滑度和輸出效果,仍然設(shè)置成Size1=5。第二個參數(shù)值代表的是相似度權(quán)重,觀察圖像灰度值分布,相似度的變動幅度在15到25之間有較好輸出效果,以15為起點、步長為0.5逐漸增加相似度權(quán)重,在其為20時得到較好的輸出圖像,因此設(shè)置Size2=20。需要說明的是,步長設(shè)置根據(jù)機器學(xué)習(xí)的思維,值太小則嘗試次數(shù)過多,值太大則容易錯過最佳值,兼顧效率和結(jié)果質(zhì)量,步長取0.5是合適的。

equ_histo_image將圖像灰度直方圖均衡化,輸出像素值分布較均勻的圖像。scale_image對圖像做比例運算,其中乘數(shù)因子(第一個參數(shù)值)和加數(shù)因子(第二個參數(shù)值)選取規(guī)則和高斯濾波相同,該運算實現(xiàn)圖像的二值化處理。

edges_sub_pix進行輪廓特征提取,經(jīng)過程序(未列出)鎖定工件前半部的圓,‘canny’使緊接著的參數(shù)alpha值越大,邊緣細節(jié)越少。本文的目的是使細節(jié)盡可能多地體現(xiàn)出來,所以alpha應(yīng)盡量小,然而其值過小會導(dǎo)致圖像變黑,實驗中選取alpha=1是合適的。低閾值和高閾值的選取規(guī)則同高斯濾波實驗一樣,通過灰度直方圖的分布確定低閾值為11,對高閾值設(shè)置步長為1,從11開始增加,不斷嘗試得到較理想的高閾值。這里,理想的圖像輸出結(jié)果是根據(jù)顯示的輪廓邊緣線條判斷,高閾值過大會導(dǎo)致邊緣線條數(shù)量多且雜亂無序,實驗中觀察到高閾值為41時比較理想,且偏差在3以內(nèi)對結(jié)果的影響可忽略。

最后得到的輸出結(jié)果如圖9-圖13所示。

圖9 ImageBilateral

圖11 ImageBilateral灰度直方圖

圖10 ImageScaled1

圖12 ImageScaled1灰度直方圖

圖13 特征提取2

能直觀感受到圖13相對于圖8,模糊了其他背景區(qū)域,而在邊緣部分更加凸出。從濾波后的灰度直方圖也能發(fā)現(xiàn),圖11相對于圖6,相鄰灰度的直方圖高度變化沒有這么平滑,灰度變化的范圍也相對縮窄,圖11中某些灰度對應(yīng)的點明顯多于相鄰區(qū)域,這些點處于變化較快的邊界上。最后用Imagetest軟件做評測,這個軟件便于我們從數(shù)據(jù)上了解圖像變化,而不僅限于直觀感受。評測結(jié)果如圖14和圖15所示。

圖14 ImageGauss解像力

圖15 ImageBilateral解像力

從兩幅解像力數(shù)據(jù)圖中可以看出,改進方法處理后的圖像,解像力的分值發(fā)生了突變,選取3個突變峰值,通過對比,這些分值突變對應(yīng)的點所在位置就是工件的邊緣輪廓點。以上結(jié)果說明,本文方法在圖像特征識別上的表現(xiàn)更好。

同時對之前分組的圖像分別進行兩種方法處理,A組采用高斯濾波方法,B組采用加入新權(quán)重的濾波方法,得到輸出圖各50幅,利用圓的特征識別程序進行測試,高斯濾波方法有效識別圖像48幅,識別率為96%,改進方法有效識別圖像50幅,識別率為100%。結(jié)果說明,本文方法提升了識別率。

識別率的提升有助于通過計算機將程序連接機械臂,應(yīng)用于工件的分類抓取,實現(xiàn)生產(chǎn)自動化,這將作為下一步的工作。

3 結(jié) 語

本文對WD-2汽車連桿工件的圖像進行了分析處理,結(jié)合濾波方法的理論,使用Halcon完成了新規(guī)則的加入算法實現(xiàn)。通過兩組對比實驗,加入新規(guī)則的方法得到了最想要的結(jié)果,即模糊其他不重要的區(qū)域,強化邊緣和細節(jié)部分,驗證了本文方法更適用于處理WD-2汽車連桿工件的圖像。

猜你喜歡
直方圖高斯灰度
小高斯的大發(fā)現(xiàn)
統(tǒng)計頻率分布直方圖的備考全攻略
符合差分隱私的流數(shù)據(jù)統(tǒng)計直方圖發(fā)布
采用改進導(dǎo)重法的拓撲結(jié)構(gòu)灰度單元過濾技術(shù)
基于灰度拉伸的圖像水位識別方法研究
天才數(shù)學(xué)家——高斯
用直方圖控制畫面影調(diào)
基于最大加權(quán)投影求解的彩色圖像灰度化對比度保留算法
基于灰度線性建模的亞像素圖像抖動量計算
基于直方圖平移和互補嵌入的可逆水印方案
計算機工程(2015年8期)2015-07-03 12:20:21
兴安盟| 奉节县| 武隆县| 库车县| 巴东县| 工布江达县| 无棣县| 吴桥县| 洛川县| 桐柏县| 沐川县| 临夏市| 莱州市| 全椒县| 海南省| 威宁| 乌海市| 哈尔滨市| 樟树市| 抚松县| 新河县| 绥江县| 三门峡市| 桂平市| 新密市| 湟源县| 莲花县| 旬阳县| 郸城县| 阿巴嘎旗| 迭部县| 泰州市| 天水市| 永州市| 盐边县| 大厂| 浦东新区| 衡南县| 安丘市| 建宁县| 永康市|