clear all;
I=imread('test.png');
figure,imshow(I),title('原图');
R=I(:,:,1); G=I(:,:,1); B=I(:,:,1); %提取RGB分量
R=double(R); G=double(G); B=double(B); %转换成double
[Rx,Ry]=get_edge(R); [Gx,Gy]=get_edge(G); [Bx,By]=get_edge(B); %提取梯度
Gxx=Rx.*Rx+Gx.*Gx+Bx.*Bx; %书本6.7.5
Gyy=Ry.*Ry+Gy.*Gy+By.*By; %书本6.7.6
Gxy=Rx.*Ry+Gx.*Gy+Bx.*By; %书本6.7.7
[m,n]=size(R); %图像尺寸
error=zeros(m,n)+0.001; %防止分母为零
radian=1/2*atan((2*Gxy)./(Gxx-Gyy+error));
F=1/2*((Gxx+Gyy)+(Gxx-Gyy).*cos(2*radian)+2*Gxy.*sin(2*radian));
F=sqrt(F);
F=uint8(F);
figure,imshow(F),title('边缘图像');
评论1