Measuring Binary Image Data
3 次查看(过去 30 天)
显示 更早的评论
See attached file for my binary image. I have two questions:
Do any of you know how I can measure the more linear "body"? Right now my program is measuring the bottom cluster of pixels when I want it to measure the linear body.
My code for this:
labeledImage = bwlabel(binaryImage);
measurements = regionprops(labeledImage, 'all');
% Crop it to the bounding box.
bb = measurements.BoundingBox;
My other question is is it possible to just measure the right hand side of the linear portion of pixels and ignore the "tail end" on the left hand side where it makes a 90 degree angle?
If you need further details please let me know. Thanks!
0 个评论
采纳的回答
Image Analyst
2012-10-4
Why don't you just crop off the bottom half of the picture, then call regionprops()? Or you can measure them all but just recognize which blob is the one you're interested in and ignore the rest. Looks like it would be blob #4 or 5 or so. But actually your program measures ALL blobs, not just the ones at the bottom - not sure why you thought that.
2 个评论
Image Analyst
2012-10-4
Responding to your "Answer" below...
Labeling goes from the top left to bottom left, then goes across the columns. You can transpose your image (with ') to get the same effect as going across columns first and then down rows. Transposing will allow you to detect the regions at the top first, before the blobs at the bottom.
Image Analyst
2012-10-4
You probably can automate it more. But you only gave one image and I have no idea what distinguishes the desired blobs from the undesired blobs. You can check out my BlobsDemo in my File Exchange for examples of how to extract out just the desired blobs: http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862
更多回答(1 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!