用户名  找回密码
 注册
查看: 1314|回复: 2

小妹求助了

[复制链接]
发表于 2004-7-5 00:51:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
小妹做课设,做图象的分割最佳阈值算法的程序,如下;
I=imread(...);
I=mat2gray(I);
I=double(uint8(I.*255));
t=0;
ii=mean2(I);
ii=double(uint8(ii));
hmax=double(max(max(I)));
x=ii;
for i=ii:1:hmax
    II1=double(I>i);
    II2=double(I<=i);
    if(sum(sum(II1))==0)
        a=i;
    else
        a=sum(sum(double(I).*II1))/sum(sum(II1));        
    end;
   
    if(sum(sum(II2))==0)
        b=i;
    else
        b=sum(sum(double(I).*II2))/sum(sum(II2));        
    end;   
   
    a=abs(a-i);
    b=abs(b-i);
   
    t1=min(a,b);
    if(t1>t)
        t=t1;
        x=i;
    end;
end;
I1=I>x;
finger;
imshow(i);
finger;
imshow(i1);
敲完程序后总提示:A  must be double,
我知道是I=mat2gray(I);这行出了错误,
求助各位大哥帮忙解决。

 楼主| 发表于 2004-7-5 10:20:07 | 显示全部楼层

小妹求助了

难道没人知道是怎么回事?
发表于 2004-7-5 20:56:08 | 显示全部楼层

小妹求助了

我看你后面用到double函数,奇怪你为什么不知道解决办法?
I=mat2gray(double(I));
试试看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表