数字图像处理——灰度形态学(顶帽变换学习)

测试基础

有的图像的拍摄受到不均匀的背景光照条件的影响,导致图像的像素的地基不少处于同一水平上,这里有一个专门解决该类问题的形态变换——顶帽变换

MATLAB本身自带有一些用于实验的相关图像,如果不清楚该类图像的存储位置,可以在MATLAB中输入:which riceblurred.png,就可以得到图片的存储路径

测试代码

% 灰度形态学之顶帽变换(解决非均匀光照背景照成图像模糊)
I = imread('riceblurred.png');

subplot(2,4,1),imshow(I,[]);
gap1=graythresh(I);%自适应确定阈值
gap_image=imbinarize(I,gap1);
subplot(2,4,2),imshow(gap_image,[]);%自适应阈值结果图
subplot(2,4,3),surf(double(I(1:8:end,1:8:end)));
zlim([0 255]),colormap gray;%展示I的三维可视效果

achieve_background=imopen(I,strel('disk',15));%半径15的圆形结构元素进行灰度开运算提取图像背景曲面
subplot(2,4,4),surf(double(achieve_background(1:8:end,1:8:end)));
zlim([0 255]),colormap gray;%展示achieve_background背景图像的三维效果可视图

Itophat=imsubtract(I,achieve_background);%进行顶帽变换
subplot(2,4,5),imshow(Itophat);%展示变换效果图
subplot(2,4,6),surf(double(Itophat(1:8:end,1:8:end)));%展示变换后的三维效果可视图
zlim([0 255]),colormap gray;

%进行对比度比较
I2=imadjust(Itophat);
subplot(2,4,7),imshow(I2);
gap2=graythresh(I2);
gap2_image=imbinarize(I2,gap2);
subplot(2,4,8),imshow(gap2_image);







测试效果

 

测试效果分析 

从下图可以得到对原图进行自适应阈值的处理导致图像下半部分的米粒缺失,效果较差

对原图进行三维分析(如图1)展示中可以看到其各像素的基准点不是在同一水平,而导致这一效果的原因就是背景光照的不均匀(如图2)。进行顶帽变换后其基准点都在同一水平上(如图3),而且最终效果很好,通过顶帽变换后再进行自适应阈值处理,效果较之前好了不少。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值