Drawing polygon on axes GUI, Finding the area of a polygon

5 次查看(过去 30 天)
According to this website, it is possible to draw a draggable polygon onto the image
Can i draw the polygon on the axes GUI?
And
is there a way to find the area of the polygon drawn by the code?

采纳的回答

Cris LaPierre
Cris LaPierre 2020-9-4
编辑:Cris LaPierre 2020-9-4
It's not clear if you are using app designer or guide. It should be simple enough to try. If you have trouble, share your code so we can help you.
As for the area, yes. Once you have finished drawing your polygon, use the polyshape and area functions. Here I've combined code from examples provided in the pages you and I have linked to.
I = imread('cameraman.tif');
imshow(I);
roi = images.roi.Polygon(gca,'Position',[115 30; 80 45; 80 80; 115 90; 145 65]);
p = polyshape(roi.Position)
area(p)
  2 个评论
Adrian Lee
Adrian Lee 2020-9-5
I am using guide
I am curious, roi = images.roi.Polygon(gca,'Position',[115 30; 80 45; 80 80; 115 90; 145 65]);
this code, can i instead of drawing the polygon on a image, draw it in the axes of guide?
Cris LaPierre
Cris LaPierre 2020-9-6
Sure. Use the drawpolygon function. Instead of gca, use the handle to the axes in your gui (e.g. handles.axes1). You do need the Image Processing Toolbox.
roi = drawpolygon(handles.axes1);

请先登录,再进行评论。

更多回答(0 个)

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by