Detecting 8 connected neighborhood of a object in image
조회 수: 29 (최근 30일)
이전 댓글 표시
Hello
I need to find robust method for detecting the 8-connected neighbor of a rectangle-like object in an image.
I was considering something like dilation on the image but this does not seems to detect all the adjacent pixels in every case (considering change of shape) so know I am looking for another approach.
If you have any idea please let me know !
Regards
댓글 수: 0
답변 (2개)
Matt J
2013년 3월 1일
편집: Matt J
2013년 3월 1일
You mean you have a binary image and you want to detect pixels with 8 neighbours that are "1"? If so,
kernel=[1 1 1; 1 0 1; 1 1 1]/8;
idx = conv(image,kernel,'same')>=.998; %.998 is a tolerance close to 1
and then if you want to, you can convert idx to subscript indices
[I,J]=find(idx);
Image Analyst
2013년 3월 1일
Dmitris:
This is done with bwhitmiss() in the Image Processing Toolbox. Go here to Steve's blog to see examples: http://blogs.mathworks.com/steve/2011/07/08/binary-image-hit-miss-operator/. You just need to look at 4 cases, where the center pixel is true and a single corner is true. All of the other possible 252 cases will be 4 connected or not connected at all.
댓글 수: 0
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!