雷 艇
(武漢東湖學(xué)院 機(jī)電工程學(xué)院, 湖北 武漢 430212)
基于Matlab的鑄造件表面缺陷圖像預(yù)處理
雷 艇
(武漢東湖學(xué)院 機(jī)電工程學(xué)院, 湖北 武漢 430212)
針對鑄造件的表面缺陷檢測問題,采用機(jī)器視覺檢測技術(shù),通過CCD攝像頭獲取鑄件的表面缺陷圖像,Matlab讀取該圖像并通過圖像處理函數(shù)對其進(jìn)行圖像預(yù)處理。本文對圖像預(yù)處理的步驟包括圖像去噪、闕值處理以及邊緣檢測,經(jīng)過Matalb仿真分析得出,圖像去噪采用均值濾波平滑,闕值的值為80,邊緣檢測采用canny算子。通過對鑄件缺陷圖像的預(yù)處理我們發(fā)現(xiàn),Matlab圖像處理能取得較好的效果,為后續(xù)的圖像特征提取、缺陷識別打下堅實(shí)的基礎(chǔ),同時也為其他零件的表面缺陷圖像處理帶來實(shí)際的借鑒價值。
鑄造件 Matlab 表面缺陷 均值濾波 闕值 邊緣檢測
鑄件的表面缺陷嚴(yán)重影響了其使用,可靠性以及力學(xué)性能,針對鑄件表面缺陷的檢測日益成為一個熱門的研究領(lǐng)域。在本文中我們采用的是基于機(jī)器視覺的檢測技術(shù),通過CCD和光源等硬件設(shè)備獲取圖像,然后用Matlab的圖像處理函數(shù)處理圖像,這種方法的好處即在于將抽象的圖像處理轉(zhuǎn)化為具體的數(shù)值計算,研究人員可以集中精力在算法研究上。Matlab提供多種圖像處理函數(shù),在圖像處理能力上十分強(qiáng)大,能幫助我們簡潔高效的找出最適合的圖像處理方法[1]。
系統(tǒng)可以分為如下子系統(tǒng):即圖像采集系統(tǒng)、圖像處理系統(tǒng)、信號傳輸系統(tǒng)、人機(jī)交互界面、機(jī)械傳送系統(tǒng)等。圖1為系統(tǒng)示意圖。
其中缺陷圖像的獲取是由圖像采集系統(tǒng)完成。系統(tǒng)獲取圖像的工作過程為鑄件隨傳送帶運(yùn)動,當(dāng)傳感器檢測到鑄件的工位信息,將鑄件的工位信息發(fā)送給相機(jī)控制單元,相機(jī)控制單元控制圖像采集系統(tǒng)的相機(jī)快門開啟,迅速捕捉工件的圖像,每秒鐘能獲取十幾張圖像,并將這些圖像傳輸?shù)綀D像處理系統(tǒng),圖像處理系統(tǒng)選擇一張最優(yōu)質(zhì)的圖片進(jìn)行圖像預(yù)處理[2]。
圖1 系統(tǒng)示意圖
1.1 檢測對象
1) 鑄件質(zhì)量:5 kg
2) 鑄件外形尺寸:100×120×80(mm)
3) 鑄件材質(zhì):灰鐵
4) 檢測速度:平均5 s/工件
5) 相機(jī)分辨率:2 000萬像素
1.2 檢測指標(biāo)
需檢測鑄件的砂眼、外形輪廓等。
由于CCD相機(jī)采集的鑄件缺陷圖像的格式為RGB,既包含亮度信息又包含色彩信息,為了避免不必要的工作量,減少M(fèi)atlab處理的數(shù)據(jù)量,將鑄件的彩色圖像轉(zhuǎn)化為只有黑白表示的灰度圖像[3]。鑄件缺陷圖像的讀入與格式轉(zhuǎn)換程序如下:
clear all;
I=imread(‘D:Matlabzhujian.png’); %讀入圖像
J=rgb2gray(I); %將RGB格式轉(zhuǎn)換為灰度圖像
Figure; Imshow(J);
Figure; Imhist(J,64);
圖2 鑄件灰度圖像
在獲取鑄件圖像的過程中,由于會受到拍攝角度、光照強(qiáng)度等因素的影響,許多噪聲信號會參雜在圖像中,這時去噪處理就會很有必要。本文分別采用均值濾波和中值濾波對灰度圖像去噪,觀察Matlab仿真結(jié)果,分析哪一種濾波方式更為適合。去噪程序如下:
圖3 鑄件灰度直方圖
Z1=medfilt2(J,[5,5]);
%中值濾波去噪
Z2=filter2(fspecial(‘a(chǎn)verage’,3),J)/255;
%均值濾波去噪
Figure; imshow(Z1);
Figure; imshow(Z2);
去噪后的效果圖如圖4所示。從2種濾波后的效果圖可以看出,均值濾波不但能相對完整地保留鑄件的外形輪廓,而且對鑄件的內(nèi)部細(xì)節(jié)特征影響也較小,鑄件內(nèi)部的砂眼特征在中值濾波中已經(jīng)模糊不清,但是在均值濾波中還能清楚辨別。因而我們選用均值濾波。
(a)中值濾波(b)均值濾波
圖4 中值濾波和均值濾波后的去噪圖像
Fig.4 Denoising image after median filtering and mean filtering
闕值處理即選擇一個合適的闕值,對圖像進(jìn)行二值化處理,將圖像中有用的信息與無關(guān)信息分離開,因此闕值的選取對處理后的圖像影響很大。闕值選取的依據(jù)主要是灰度直方圖,觀察圖3的灰度直方圖,發(fā)現(xiàn)波谷主要集中在50-80之間,因此我們分別考察當(dāng)闕值T取60、70、80、90時,圖像的處理效果[4]-[5]。闕值處理程序如下:
Z_1=im2bw(Z2,60/255);
Z_2=im2bw(Z2,70/255);
Z_3=im2bw(Z2,80/255);
Z_4=im2bw(Z2,90/255);
Figure; imshow(Z_1);
Figure; imshow(Z_2);
Figure; imshow(Z_3);
Figure; imshow(Z_4);
闕值處理后的圖像如圖5所示。
(d)T=60(d)T=70
(c)T=80(d)T=90
圖5 闕值處理后的圖像
Fig.5 Image after threshold processing
對闕值處理后的圖像再進(jìn)行邊緣檢測,由于canny算子具有能最大限度保留圖像邊緣輪廓的能力,因而這里我們采用canny算子分別對闕值處理后的圖像作邊緣檢測。
Canny邊緣檢測程序如下:
BW1= edge(Z_1, ‘canny’, 0.4);
BW2= edge(Z_2, ‘canny’, 0.4);
BW3= edge(Z_3, ‘canny’, 0.4);
BW4= edge(Z_4, ‘canny’, 0.4);
Figure; imshow(BW1);
Figure; Imshow(BW2);
Figure; Imshow(BW3);
Figure; Imshow(BW4);
邊緣檢測后的圖像如圖6所示。
(d)T=60(d)T=70
(c)T=80(d)T=90
圖6 Canny算子邊緣檢測后的圖像
Fig.6 Image using Canny operator edge detection
從圖中可以看到,當(dāng)闕值T=60、T=70時,圖像輪廓的線條有相當(dāng)多的部分呈現(xiàn)出斷斷續(xù)續(xù)的狀態(tài),且還有些特征孤立在主體之外;當(dāng)闕值T=90時,雖然圖像的輪廓相對比較完整,但是鑄件的內(nèi)部特征與實(shí)際有較大出入,經(jīng)過綜合考慮,闕值T=80時,對圖像的處理效果相對理想,能將目標(biāo)與背景較好的分離出來。
本文采用基于機(jī)器視覺的方法對鑄件缺陷圖像進(jìn)行Matlab圖像預(yù)處理,首先簡要描述系統(tǒng)獲取缺陷圖像的工作過程,然后在Matlab編寫程序,讀取缺陷圖像,接著對圖像分別進(jìn)行中值濾波和均值濾波處理,再根據(jù)灰度直方圖確定闕值的范圍,并用Canny算子分別對闕值處理后的圖像進(jìn)行邊緣檢測,最后分析出闕值T=80時效果最優(yōu)。Matlab的處理效果表明:
1,掌握圖像預(yù)處理的一般步驟為讀取圖像、圖像去噪、闕值處理、邊緣檢測。
2,選擇合適的圖像處理函數(shù)能得到較為完整的圖像輪廓。
3,對于鑄造件,均值濾波比中值濾波更適合。
4,選擇闕值時,要先根據(jù)灰度直方圖確定闕值范圍,然后再仿真分析得出合適的闕值。
5,開發(fā)出獨(dú)特的適合工件表面特性的算法很有必要。
[1] 柳效輝,徐林等. 基于Matlab的圖像處理技術(shù)識別硅太陽電池的缺陷 [J]. 上海交通大學(xué)學(xué)報,2010,(7):926-930.
[2] 周文舉. 基于機(jī)器視覺的在線高速檢測與精確控制研究及應(yīng)用[D]. 上海:上海大學(xué),2013.
[3] 馬曉路,劉倩等. Matlab圖像處理從入門到精通[M]. 北京:中國鐵道出版社,2013.
[4] 程正興等. 小波分析算法與應(yīng)用[M]. 西安:西安交通大學(xué)出版社,1998.
[5] 趙小川等. Matlab數(shù)字圖像處理實(shí)戰(zhàn)[M]. 北京:機(jī)械工業(yè)出版社,2013.
Images processing defects on the surface of the casting based on Matlab
TingLei
(SchoolofMechatronicEngineering,WuhanDonghuUniversity,Hubei,Wuhan430212)
Aiming at the surface of casting defects inspecting problem, adopting machine vision detection technology, getting the surface defects picture of the casting by using CCD(charged coupled device)camera, Matlab can read this picture and deal with the pictures by image processing function. This paper adopts the procedure of image pre-processing include image denoising, threshold disposing and edge detection. After simulation analysis by Matlab, image denosing adopts median filter smoothing, threshold value 80, and edge detection uses canny operator. The results show that Matlab image processing can achieve better effect which can lay a solid foundation for Image segmentation, feature extraction and defects recognition. At the same time it can bring actual references value to surface defects image processing of other parts.
Casting Matlab surface defect median filter threshold value edge detection
1006-8244(2017)02-035-03
TG247
B