一、原理
高帽变换和低帽变换是数学形态学中重要的运算形式,有形态学中最基本的运算如膨胀、腐蚀组合实现。
高帽变换是通过利用原始图像与原始图像开操作的结果图像进行图像减操作实现的;而低帽变换是通过原始图像闭操作的结果图像与原始图像进行图像减操作实现的。
高帽变换具有高通滤波的特性,适用于处理具有暗背景、亮物体特征的图像。
低帽变换能够检测图像中的谷值,适用于处理具有亮背景、暗物体特征的图像。
二、代码
[filename,pathname]=uigetfile({'*.jpg';'*bmp';'*gif'},'选择原图片');picture = imread([pathname,filename]);
%原图片展示
figure(1);
subplot(2,2,1);
imshow(picture);
title('原图片');
%图像灰度化
%picture = rgb2gray(picture);
%subplot(2,2,2);
%imshow(picture);
%title('灰度化图片');
%高帽、低帽处理
se = strel('rectangle',[3 3]);%选取结构元素为3*3的矩形
Itop = imtophat(picture, se); % 高帽变换
Ibot = imbothat(picture, se); % 低帽变换
subplot(2,2,3);
imshow(Itop, []); % 高帽变换,体现原始图像的灰度峰值
title('高帽变换');
subplot(2,2,4);
imshow(Ibot, []); % 低帽变换,体现原始图像的灰度谷值
title('低帽变换');
三、结果图