Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-03-02
年龄: 38
帖子: 9
声望力: 0 ![]() |
![]()
图象毕业设计 图象分割
问题是M文件可以得到结果图,但是作为GUI按扭程序以后就得不到相同的结果 以下是M文件 %切割 l=imread('lena.bmp'); imshow(l); I=double(l); [m,n]=size(I); for k=1:8;% J=zeros(m,n); for i=1:m for j=1:n temp=I(i,j); s1=0;s2=0; range=[k:-1:1]; for d=range; s1=2^(8-d)+s1;s2=2^(8-d+1); if temp>=s1 & temp<s2; J(i,j)=255;break; end end end end K(:,:,k)=uint8(J); end %分割以后组合 a1=K(:,:,1)/255*128; a2=K(:,:,2)/255*64; a3=K(:,:,3)/255*32; a4=K(:,:,4)/255*16; b=a1+a2+a3+a4; imshow(b); 以下是GUI的按扭程序 I=double(im); [m,n]=size(I); for k=1:8 J=zeros(m,n); for i=1:m for j=1:n temp=I(i,j); s1=0;s2=0; range=[k:-1:1]; for d=range s1=2^(8-d)+s1;s2=2^(8-d+1); if temp>=s1 & temp<s2; J(i,j)=255;break; end end end end K(:,:,k)=uint8(J); end axes(handles.axes2); q=K(:,:,1); imshow(q); axes(handles.axes3); q=K(:,:,2); imshow(q); axes(handles.axes4); q=K(:,:,3); imshow(q); axes(handles.axes5); q=K(:,:,4); imshow(q); axes(handles.axes6); q=K(:,:,5); imshow(q); axes(handles.axes7); q=K(:,:,6); imshow(q); axes(handles.axes8); q=K(:,:,7); imshow(q); axes(handles.axes9); q=K(:,:,8); imshow(q); a1=K(:,:,1)/255*128; a2=K(:,:,2)/255*64; a3=K(:,:,3)/255*32; a4=K(:,:,4)/255*16; axes(handles.axes10); b=a1+a2+a3+a4; imshow(b); 大家帮我看看 是为什么 谢谢了 :lovely: |
![]() |
![]() |