|
4樓
樓主 |
發表於 2006-8-25 19:43:02
|
只看該作者
5X5, 彩色, 黑白各別濾波之後再個別顯示出來, 將黑白的作二值化!
clear all, close all;
[x,map]=imread('F:\My Documents\3-18.jpg');
figure(1), imshow(x); %make 1 figure to show image.
blackwhite=rgb2gray(x);
figure(3), imshow(blackwhite);
m=double(x);
m2=double(blackwhite);
[x,y,z]=size(m);
[x2,y2,z2]=size(m2);
r=zeros(x,y,z);
r2=zeros(x2,y2,z2);
filter=zeros(1,25);
filter2=zeros(5,5);
for i=1:3;
for o=3:x-2;
for p=3:y-2;
filter(1)=m(o-2,p-2,i);
filter(2)=m(o-1,p-2,i);
filter(3)=m(o,p-2,i);
filter(4)=m(o+1,p-2,i);
filter(5)=m(o+2,p-2,i);
filter(6)=m(o-2,p-1,i);
filter(7)=m(o-1,p-1,i);
filter(8)=m(o,p-1,i);
filter(9)=m(o+1,p-1,i);
filter(10)=m(o+2,p-1,i);
filter(11)=m(o-2,p,i);
filter(12)=m(o-1,p,i);
filter(13)=m(o,p,i);
filter(14)=m(o+1,p,i);
filter(15)=m(o+2,p,i);
filter(16)=m(o-2,p+1,i);
filter(17)=m(o-1,p+1,i);
filter(18)=m(o,p+1,i);
filter(19)=m(o+1,p+1,i);
filter(20)=m(o+2,p+1,i);
filter(21)=m(o-2,p+2,i);
filter(22)=m(o-1,p+2,i);
filter(23)=m(o,p+2,i);
filter(24)=m(o+1,p+2,i);
filter(25)=m(o+2,p+2,i);
r(o,p,i)=sum(sum(filter))/25;
end
end
end
for i2=1:3;
for p2=3:y2-2;
for o2=3:x2-2;
filter2(1)=m2(o2-2,p2-2);
filter2(2)=m2(o2-1,p2-2);
filter2(3)=m2(o2,p2-2);
filter2(4)=m2(o2+1,p2-2);
filter2(5)=m2(o2+2,p2-2);
filter2(6)=m2(o2-2,p2-1);
filter2(7)=m2(o2-1,p2-1);
filter2(8)=m2(o2,p2-1);
filter2(9)=m2(o2+1,p2-1);
filter2(10)=m2(o2+2,p2-1);
filter2(11)=m2(o2-2,p2);
filter2(12)=m2(o2-1,p2);
filter2(13)=m2(o2,p2);
filter2(14)=m2(o2+1,p2);
filter2(15)=m2(o2+2,p2);
filter2(16)=m2(o2-2,p2+1);
filter2(17)=m2(o2-1,p2+1);
filter2(18)=m2(o2,p2+1);
filter2(19)=m2(o2+1,p2+1);
filter2(20)=m2(o2+2,p2+1);
filter2(21)=m2(o2-2,p2+2);
filter2(22)=m2(o2-1,p2+2);
filter2(23)=m2(o2,p2+2);
filter2(24)=m2(o2+1,p2+2);
filter2(25)=m2(o2+2,p2+2);
r2(o2,p2)=sum(sum(filter2))/25;
end
end
end
r=uint8(r);
r2=uint8(r2);
figure(2),imshow(r);
figure(5),imshow(r2);
BW=im2bw(r2,0.5);
figure(6), imshow(BW); |
|