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

6 views (last 30 days)
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?

Accepted Answer

Cris LaPierre
Cris LaPierre on 4 Sep 2020
Edited: Cris LaPierre on 4 Sep 2020
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 Comments
Adrian Lee
Adrian Lee on 5 Sep 2020
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 on 6 Sep 2020
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);

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!