Better code to crop out a connected component?
1 回表示 (過去 30 日間)
古いコメントを表示
Hi, I have written this code to crop out just a connected component on an image:
rp = regionprops(cc, 'BoundingBox');
minr = rp(stainid).BoundingBox(2);
minc = rp(stainid).BoundingBox(1);
maxr = rp(stainid).BoundingBox(2) + rp(stainid).BoundingBox(4);
maxc = rp(stainid).BoundingBox(1) + rp(stainid).BoundingBox(3);
imstainzoom = im(minr:maxr, minc:maxc);
It works, but isn't the best code possible. Also, the bounding box returns non-integers (why is that?). Is there a much more efficient way to do this?
0 件のコメント
採用された回答
Image Analyst
2012 年 7 月 17 日
編集済み: Image Analyst
2012 年 7 月 17 日
See my image segmentation tutorial where I crop out objects using their bounding boxes. http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862
I believe it gives coordinates on the half pixel to eliminate any ambiguity about whether the bounding box is the inclusive box, or one pixel layer outside that. So you can use ceil() and floor() to make it do it either way depending on what you prefer.
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!