I=imread('C:\Lena.jpg');
I=rgb2gray(I);
a=edge(I,'roberts');
b=edge(I,'sobel');
c=edge(I,'prewitt');
d=edge(I,'log');
imwrite(a,'roberts.tif');
imwrite(b,'sobel.tif');
imwrite(c,'prewitt.tif');
imwrite(d,'log.tif');
subplot(2,3,1);imshow(I);title('Lena原图');
subplot(2,3,2);imshow(a);title('(a)Roberts算法');
subplot(2,3,3);imshow(b);title('(b)sobel算法');
subplot(2,3,4);imshow(c);title('(c)prewitt算法');
subplot(2,3,5);imshow(d);title('(d)log算法');
bw2=filter2(fspecial('average',3),I);
bw3=filter2(fspecial('gaussian'),bw2);
[thr,sorh,keepapp]=ddencmp('den','wv',bw3);
bw4=wdencmp('gbl',bw3,'sym4',2,thr,sorh,keepapp); t=1200 ;
colormap(gray(219));
bw5=double(bw4);
[m,n]=size(bw5);
g=zeros(m,n);
for i=2:m-1
for j=2:n-1
d1 =(5*bw5(i-1,j-1)+5*bw5(i-1,j)+5*bw5(i-1,j+1)-3*bw5(i,j-1)-3*bw5(i,j+1)-3*bw5(i+1,j-1)-3*bw5(i+1,j)-3*bw5(i+1,j+1))^2;
d2 =((-3)*bw5(i-1,j-1)+5*bw5(i-1,j)+5*bw5(i-1,j+1)-3*bw5(i,j-1)+5*bw5(i,j+1)-3*bw5(i+1,j-1)-3*bw5(i+1,j)-3*bw5(i+1,j+1))^2;
d3 =((-3)*bw5(i-1,j-1)-3*bw5(i-1,j)+5*bw5(i-1,j+1)-3*bw5(i,j-1)+5*bw5(i,j+1)-3*bw5(i+1,j-1)-3*bw5(i+1,j)+5*bw5(i+1,j+1))^2;
d4 =((-3)*bw5(i-1,j-1)-3*bw5(i-1,j)-3*bw5(i-1,j+1)-3*bw5(i,j-1)+5*bw5(i,j+1)-3*bw5(i+1,j-1)+5*bw5(i+1,j)+5*bw5(i+1,j+1))^2;
d5 =((-3)*bw5(i-1,j-1)-3*bw5(i-1,j)-3*bw5(i-1,j+1)-3*bw5(i,j-1)-3*bw5(i,j+1)+5*bw5(i+1,j-1)+5*bw5(i+1,j)+5*bw5(i+1,j+1))^2;
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余1页未读,立即下载