马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
我用分水岭法做图像分割出现这个问题请高手指点,以下是程序和错误
afm = imread('12345.tif');
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); % 用不同的颜色表示分割出的不同区域
??? Error using ==> image
TrueColor CData contains element out of range 0.0 <= value <= 1.0.
Error in ==> C:\MATLAB6p5\toolbox\images\images\imshow.m
On line 104 ==> hh = image(xdata, ydata, cdata, 'BusyAction', 'cancel', ...
Error in ==> C:\MATLAB6p5\work\water3.m
On line 17 ==> figure, imshow(wat); % 用不同的颜色表示分割出的不同区域
>> |