数字图像处理-基础实验-梯度法实现边缘检测
Problem Statement
Edge detection is a problem of fundamental importance in image analysis. In typical images, edges characterize object boundaries and are therefore useful for segmentation, registration, and identification of objects in a scene.Use gradient to realize image edge detection.
Procedure
(A)Gradient :
(B)Step:
(1) Save the original picture I
(2) Define a 0 matrix I2 to store gradient images
(3) Use the gradient formula to calculate the gradient image
(4) Get negative image
Source code
A=imread('F:\cxy_m\1.png');
I=A;
I2=A;
subplot(1,3,1),imshow(A);
[m,n]=size(A);
for x=1:m
for y=1:n
I2(x,y)=0;
end
end
for x=2:(m-1)
for y=2:(n-1)
List=[abs(A(x,y)-A(x+1,y)) abs(A(x,y)-A(x-1,y)) abs(A(x,y)-A(x,y+1)) abs(A(x,y)-A(x,y-1))];
dxy=max(List);
I2(x,y)=dxy;
end
end
subplot(1,3,2),imshow(I2);
I3=I2;
I3 = im2uint8(mat2gray(I3));
I3 = 255-double(I3);
I3 = im2uint8(mat2gray(I3));
subplot(1,3,3),imshow(I3);