I=imread('wangge2.bmp');
mat2gray(I); %转化成灰度图
J= imadjust(I,[0.1 0.3],[]) ; %灰度调整,能增强黑色区域中白色
B=medfilt2(J); %中值滤波(去除椒盐噪声)
BW= edge(B,'sobel',0.1); %边缘检测
BWfill= imfill(BW,'holes') ; %填充缺陷区域(孔或者洞)
BWfilt=medfilt2(BWfill) ; %滤波
BWfilt2=medfilt2(BWfilt) ;
BWfilt3=medfilt2(BWfilt2) ;
BWfilt4=medfilt2(BWfilt3) ;
BWfilt5=medfilt2(BWfilt4) ;
figure,subplot(1,2,1),imshow(I) ;
title('原始图');
subplot(1,2,2),imshow(J) ;
title('亮度调整');
figure,subplot(1,3,1),imshow(BW) ;
title('边缘检测');
subplot(1,3,2),imshow(BWfill) ;
title('填充后');
subplot(1,3,3),imshow(BWfilt5) ;
title('滤波后');
原图
灰度图:
I=imread('bupiquexian.jpg');
I=im2bw(I); %转化成二值图
B=medfilt2(I);
BWfill= imfill(B,'holes') ; %填充缺陷区域
BWfilt=medfilt2(BWfill) ; %滤波
BWfilt2=medfilt2(BWfilt) ;
BWfilt3=medfilt2(BWfilt2) ;
BWfilt4=medfilt2(BWfilt3) ;
BWfilt5=medfilt2(BWfilt4) ;
imshow(I) ;
title('二值图');
figure,subplot(1,3,1),imshow(B) ;
title('边缘检测');
subplot(1,3,2),imshow(BWfill) ;
title('填充后');
subplot(1,3,3),imshow(BWfilt5) ;
title('滤波后');
原始图
上述两例都属于转化成二值图,中值滤波-填充-滤波方法。 Imfill
也可直接用于灰度图像孔洞的填充, 此时孔洞指较亮像素包围的暗区
域。