📄 代码23-5.txt
字号:
f=imread('peppers.png'); % 读入图像
bw=im2bw(f,graythresh(f)); % 转换为黑白二值图像
bwc=~bw; % 图像反色
dst=bwdist(bwc); % 图像距离
ws=watershed(-dst);
w=ws==0;
rf=bw&~w;
figure,imshow(f); % 显示原始图像
title('Original Image'); % 设置图像标题
figure,imshow(bw); % 显示处理后的图像
title('Negative Image'); % 设置图像标题
figure,imshow(ws); % 显示处理后的图像
title('Watershed - Distance Transform'); % 设置图像标题
figure,imshow(rf); % 显示处理后的图像
title('Superimposed - Watershed and original image'); % 设置图像标题
h=fspecial('sobel'); % 设置滤波器
fd=im2double(f); % 数据类型转换
sq=sqrt(imfilter(fd,h,'replicate').^2+imfilter(fd,h','replicate').^2); % 分水岭距离变换
sqoc=imclose(imopen(sq,ones(3,3)),ones(3,3)); % 图像闭合运算
wsd=watershed(sqoc);
wg=wsd==0;
rfg=f;
rfg(wg)=255;
figure,imshow(wsd); % 显示处理后的图像
title('Watershed - Gradient'); % 设置图像标题
figure,imshow(rf); % 显示处理后的图像
title('Superimposed - Watershed and original image'); % 设置图像标题
im=imextendedmin(f,20);
Lim=watershed(bwdist(im));
figure,imshow(Lim); % 显示处理后的图像
title('Watershed - Marker Controlled'); % 设置图像标题
em=Lim==0;
rfmin=imimposemin(sq,im|em);
wsdmin=watershed(rfmin);
figure,imshow(rfmin); % 显示处理后的图像
title('Watershed - Gradient and Marker Controlled'); % 设置图像标题
rfgm=f;
rfgm(wsdmin==0)=255;
figure,imshow(rfgm); % 显示处理后的图像
title('Superimposed - Watershed (GM) and original image'); % 设置图像标题
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -