edge parameter calculation
이전 댓글 표시
how to use the Sobel edge detection method to detect image edges (IE) is obtained by filtering an input image with two convolution kernels concomitantly, one to detect changes in vertical contrast (hx) and the other to detect horizontal contrast (hy ), shown in equation (1). Image output (IE ) is obtained by calculating the gradient magnitude of each pixel, as shown in equation (2). Subsequently, the edge parameter (E) is calculated, whereby E (r, c) is increased by one each time when IE (x, y) = ‘1’ in a supervised block, as shown in equation (3) Hx = ? ? ? ? ? ? ? ? ? ? ? ? ? 1 0 1 2 0 2 1 0 1 ,Hy = ? ? ? ? ? ? ? ? ? ? ? ? ? 1 2 1 0 0 0 1 2 1 (1) I (x, y) I 2 (x, y) I 2 (x, y) E x y = + (2) ? ? = == x y B E r c IEP ( , ) ( , ) ( 1) (3)
답변 (1개)
David Young
2011년 3월 3일
If you have the Image Processing Toolbox, the Sobel edge detector is available as one of the methods implemented in the EDGE function. See
doc edge
댓글 수: 4
bhargavi
2011년 3월 3일
David Young
2011년 3월 3일
Can you explain what you mean "can't get the result". Is there an error message? I'll make a guess at one possible problem, and suggest you try bw = edge(double(i), 'sobel');
bhargavi
2011년 3월 23일
David Young
2011년 3월 28일
So I guess the array i is not two-dimensional. You can use the size function to see whether it is or not.
If the array is three-dimensional because it is an RGB image, you could use rgb2gray to convert it to s 2-D grayscale image.
카테고리
도움말 센터 및 File Exchange에서 Object Analysis에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!