Controlling detected objects inside an image
显示 更早的评论
Hi, I have a binary image that includes a black background and two white objects; a triangle and a circle.
I tried to control those objects separately by using their label number but I have know clue how to do that! I know how to allocate object and even count those objects but failed to get control over them.
I'm trying for example to save an object in an array and displays it. Another example is to find the no of pixels(size) of that object. One more example is to change the color of the object to black (make it back ground).
I don't want to use loop functions in the whole image instead I want to use/access the object itself as a separate matrix or as an object.
Is that possible in matlab? Is there any direct command that can do that or I have to do some script coding? How to control an object as a separated matrix? Is there an alternative solution?
Best Regards
采纳的回答
更多回答(1 个)
Walter Roberson
2011-9-9
The functions provided by the Image Processing Toolbox are not object-oriented.
regionprops() applied to a labeled image returns statistics (including number of pixels). You can use the Bounding Box information to extract the height and width of the containing rectangle for the object: once you have that, you can easily copy out that sub-rectangle in to a receiving rectangle of the same size. If there might be other objects overlapping the bounding box, you can nullify them with something like
IsolatedObject(IsolatedObject ~= ThisLabel) = 0;
You can erase an object out of the original matrix by
IMG(IMG == ThisLabel) = 0;
If you recorded the regionprops PixelIdxList and PixelValue before-hand, you can restore the object by setting
IMG(recordedPixelIdxList) = recordedPixelValue;
3 个评论
Nayef
2011-9-10
Sucheta
2012-2-27
Can you please specifically tell how to find out height and width of a particular connected component??
Image Analyst
2012-2-27
Try the "BoundingBox" measurement given by regionprops().
类别
在 帮助中心 和 File Exchange 中查找有关 Region and Image Properties 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!