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
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
Related roi Questions & Solutions
Browse All →
Explore similar technical troubleshooting questions and verified MATLAB solutions:
Ready-to-Run MATLAB & Simulink Projects
Browse All Projects →