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

Sami Case · Feb 22, 2022 · 2.3K views
Question
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 PhD Expert
Answered Aug 14, 2026

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().

100% Run Guarantee 3-Hour Fast-Track Delivery

Need a Custom Version or Complete Simulation for This Problem?

Our 500+ PhD engineers build, debug, and optimize working MATLAB scripts and Simulink (.slx) models tailored to your exact assignment rubrics with zero plagiarism.

Tested on MATLAB R2024b / R2026a
Turnitin 0% Plagiarism Report
Free 7-Day Revisions Guarantee
Have a different question? Ask here

Get a Free Consultation or a Sample Assignment Review!