bwlabel changing connectivity of image
Show older comments
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)
Accepted Answer
More Answers (1)
Stephen
on 31 May 2012
1 vote
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.
Categories
Find more on Image Segmentation in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!