How to create a flexible rectangular box with a height and widht line at the center so that I can measure the height and width of the particular object in the image
조회 수: 3 (최근 30일)
이전 댓글 표시
Hi All,
I have an image , right now I am using imline to calculate the height and width of the object in an image, I am wondering if have some tool in which we can create box around the object the perpendicular height and width line to measure. is there any tool or a way to create in matlab
댓글 수: 0
채택된 답변
Image Analyst
2014년 6월 8일
편집: Image Analyst
2014년 6월 8일
You can use regionprops() to get the bounding box (length and width parallel to the image edges), convex hull, and major and minor axis lengths (fitting the blob(s) to an ellipse). See my Image Segmentation tutorial for a demo: http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862.
If you want the farthest two points in an image and the cross sectional width at the mod point, then let me know, because that's not built in.
추가 답변 (3개)
Matt J
2014년 6월 10일
편집: Matt J
2014년 6월 10일
I think the easiest compromise is to use impoly to draw an approximate rectangle around the tooth,
h=impoly(gca,'Closed',1);
Then, you can replace the polygon with its bounding rectangle using rectify(h) below. It relies on minboundrect from the File Exchange. You can tweak the vertices of the polygon interactively and re-apply rectify(h) until you are satisfied with the positioning.
function rectify(h)
pos=getPosition(h);
[rectx,recty] = minboundrect(pos(:,1),pos(:,2));
newpos=[rectx,recty];
setPosition(h,newpos(1:end-1,:));
end
Matt J
2014년 6월 8일
Another approach to consider is to use regionprops to compute the area and perimeter of the object. From the area and perimeter, you can solve for width and height.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Image Segmentation and Analysis에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!