How can I save ROI parameters from DrawFreehand and load it onto another image?

Illustration
Sami Case - 2022-02-22T16:04:25+00:00
Question: How can I save ROI parameters from DrawFreehand and load it onto another image?

I'm working on a programme that analyses the contents within an ROI (such as Mean Grey Intensity). The images i want to measure are not clear enough to draw an ROI, but I have an image that is the same size (160x160px) and I would like to draw the ROI on that image and then display that ROI on the other images. I have the images uploaded in "axes" in the app designer. Any help is appreciated.

Expert Answer

Profile picture of Neeta Dsouza Neeta Dsouza answered . 2025-11-20

Here is what I do:

 

% User draws curve on image here.
hFH = drawfreehand();
% Get the xy coordinates of where they drew.
xy = hFH.Position
% get rid of imfreehand remnant.
delete(hFH);
% Overlay what they drew onto the image.
hold on; % Keep image, and direction of y axis.
xCoordinates = xy(:, 1);
yCoordinates = xy(:, 2);
plot(xCoordinates, yCoordinates, 'r.', 'LineWidth', 2, 'MarkerSize', 12);
caption = sprintf('Original Grayscale Image.\nPoints may not lie on adjacent pixels, depends on your speed of drawing!');
title(caption, 'FontSize', fontSize);

Once you have xCoordinates and yCoordinates, you can save them and apply them to other images, for example by using them to create a mask with poly2mask().


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!