MATLAB Answers

Creating a ROI numerically (without clicking) with impoly

2 views (last 30 days)
Hello, i do have some points (which i know the coordinates) of a greyscale image and i used them to generate a polygon (using boundary function since they are not connected in some regions) so i have an area closed.
Now i want to extract all the info thats outside that region, (everything inside 1, outside 0) so i have a binary image.
I guess the easiest form is to generate a ROI and create a mask trough that ROI, but I see no way to do it automatically ( I dont want to click on the points of my poligon, its not an accurate procedure and it takes too much time).
Anyone has any idea of how to proceed?
Thanks

  0 Comments

Sign in to comment.

Accepted Answer

Subhadeep Koley
Subhadeep Koley on 1 Feb 2020
I am assuming you are trying to create Polygonal ROI Non-interactively. The code below might help!
% Read the image into the workspace
I = imread('cameraman.tif');
% Display the image
imshow(I, []);
% Draw a Point ROI on the image with specified points
roi = images.roi.Polygon(gca, 'Position', [115 30; 80 45; 80 80; 115 90; 145 65]);
ROINI.PNG

  4 Comments

Show 1 older comment
Subhadeep Koley
Subhadeep Koley on 3 Feb 2020
You can specify point values like below also.
% Read the image into the workspace
I = imread('cameraman.tif');
% Display the image
imshow(I, []);
% Specify the points
pointVals = [115 30; 80 45; 80 80; 115 90; 145 65]; % Here "pointVals" is a (5x2) vector
% Draw a Point ROI on the image with specified points
roi = images.roi.Polygon(gca, 'Position', pointVals);
Hope this helps!
JoaquinB
JoaquinB on 3 Feb 2020
Yea, that was obvious, forgot the Matlab notation.
Thanks a lot Subhadeep!

Sign in to comment.

More Answers (0)

Sign in to answer this question.