寻找分水岭,canny边缘检测的matlab程序~

寻找分水岭,canny边缘检测的matlab程序~,第1张

以下是一段MATLAB程序,经运行没问题。有注释,有分水岭算法。

afm = imread('cameramantif');figure, imshow(afm);

se = strel('disk', 15);

Itop = imtophat(afm, se); % 高帽变换

Ibot = imbothat(afm, se); % 低帽变换

figure, imshow(Itop, []); % 高帽变换,体现原始图像的灰度峰值

figure, imshow(Ibot, []); % 低帽变换,体现原始图像的灰度谷值

Ienhance = imsubtract(imadd(Itop, afm), Ibot);% 高帽图像与低帽图像相减,增强图像

figure, imshow(Ienhance);

Iec = imcomplement(Ienhance); % 进一步增强图像

Iemin = imextendedmin(Iec, 20); figure,imshow(Iemin) % 搜索Iec中的谷值

Iimpose = imimposemin(Iec, Iemin);

wat = watershed(Iimpose); % 分水岭分割

rgb = label2rgb(wat); figure, imshow(rgb); % 用不同的颜色表示分割出的不同区域

im=imread('h1jpg');

I=rgb2gray(im);

bw1=edge(I,'sobel');

bw2=edge(I,'roberts');

bw3=edge(I,'canny');

bw4=edge(I,'prewitt');

figure(2),subplot(2,2,1);imshow(bw4);title('prewitt算子效果图');

subplot(2,2,2);imshow(bw1);title('sobel算子效果图');

subplot(2,2,3);imshow(bw2);title('roberts算子效果图');

subplot(2,2,4);imshow(bw3);title('canny算子效果图');

问题在:kidstif,这是个文件名,首先你要在他前后加上单引号,然后还要确保它存在。

改了这个之后,看看有什么其他的错误提示。

补充:trees1=kids+20randn(size(kidstif));这里有问题,等号后面的kids没有定义。

以上。

偶然路过的老狼

以上就是关于寻找分水岭,canny边缘检测的matlab程序~全部的内容,包括:寻找分水岭,canny边缘检测的matlab程序~、跪求基于matlab对sem图像进行边缘检测,各个算子程序怎么写、用MATLAB实现小波包的图像边缘检测程序错误在线等!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9339780.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存