[求助]M文件可以实现的功能 为什么GUI不能实现?
			 
			 
			
		
		
		
			
			图象毕业设计 图象分割 
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); 
 
这个是M文件的程序 但是移植到DUI上后 最后还原的图片出不来是为什么?:ft:  
再附上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:
		 
		
		
		
		
		
		
		
	 |