cloudphoenix
2009-03-30, 21:27
图象毕业设计 图象分割
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:
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: