bwlabel changing connectivity of image

조회 수: 2 (최근 30일)
Ryan
Ryan 2012년 5월 31일
I am trying to use BWLabel to label 1 pixel width line segments. These lines are not straight so I am using a connectivity of 8. When I run bwlabel and view the image of the newly labeled skeleton, it actually is changing layout, size and connectivity of the line segments. The input image is a double. I am using Matlab R2009b.
Am I asking bwlabel to be too sensitive? I am using this as part of a larger code that is trying to find the angle of these segments by using the segment endpoints, so maintaining separation is important.
Below is the code I used to generate the two supplied images
% A = image to be labeled.
figure(1), imshow(A)
A2 = bwlabel(A,8);
figure(2), imshow(A2)

채택된 답변

Image Analyst
Image Analyst 2012년 5월 31일
Your A image is not what you think it is. I'd bet that it is not a logical image, but a gray scale image with most pixels at 255 but some pixels at a much darker value. Do this
imhist(A);
and see what it shows. Do you have only 2 bins at 0 and 1? Or do you have bins at 0, 255, and, say, 20 or some small number?
You can also try this
A = (A == 255); % Convert to logical image with 1 only where A = 255.
and then label and see what you get.
  댓글 수: 5
Ryan
Ryan 2012년 6월 1일
I also utilize 'help ....' all the time.
Ryan
Ryan 2012년 6월 1일
You were correct. I ran the 'unique' function that Stephen suggested and got [-1 0 1], so I just ran the im2bw command with a high threshold value and it solved the issue.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Stephen
Stephen 2012년 5월 31일
I agree with Image Analyst. Is your image a jpg or has it been compressed? If so, there are little ghosts that lurk as low intensity values on certain pixels. bwlabel uses any value above 0 (or below?) so those sneaky pixels will get marked. Take a look at what a==0 looks like, or type unique(a) to see a list of the unique intensity values.

카테고리

Help CenterFile Exchange에서 Image Processing Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by