MATLAB Answers

Pramod Bhat

How to recostruct ROI on an image and diaplay it?

Asked by Pramod Bhat
on 20 Oct 2011

dear friends, I hav got a set of co ordinates of an ROI. Now i want to reconstruct the ROI on an image and display it. How can i do this? plz help....

  1 Comment

Jonas Reber
on 20 Oct 2011

of what kind are these coordinates? is it a list of all pixels in the ROI or is it the marker/vertices of a boundary polygon (e.g., 4 points for a rectangle) or else?



No products are associated with this question.

3 Answers

Answer by Jonas Reber
on 20 Oct 2011

after having read your first question ( I think I understand what you try to accomplish. Since you are using imfreehand, I assume you have Image Processing Toolbox.

I have written an example code that opens an image, lets you select a ROI and saves it to a new file with transparent background. have a look at it - you should now be able to do what you are looking for:

 %% example code for Pramod Bhat from Jonas:
 % get file to be displayed
   [FileName,PathName] = uigetfile('*.*','Select the Image');
    [img, map] = imread(fullfile(PathName,FileName));
 % display image and select region
   f = figure; 
   imshow(img, map);
   roi = imfreehand(gca);
 % get the mask
   mask = roi.createMask;
 % extract the boundarybox of the ROI
   S = regionprops(mask,'Boundingbox');
   b = floor(S(1).BoundingBox);
   % crop the interesting part of the image (bounding box)
   imgcut = img(b(2):b(2)+b(4), b(1):b(1)+b(3));
   maskcut = double(mask(b(2):b(2)+b(4), b(1):b(1)+b(3)));
 % finally, save the image
   [FileName,PathName] = uiputfile('*.png','Save the Image As');
   imgcutrgb = ind2rgb(imgcut,map);
   % note: only what is inside of your ROI will be displayed,
   % the rest is set to be transparent:
   imwrite(imgcutrgb,fullfile(PathName,FileName),'Alpha', maskcut);


Answer by Mohammad
on 24 Dec 2012
Edited by Mohammad
on 24 Dec 2012

hello there how can i exclude ROI and save only RONI which is whole image except selected ROI. plz help


Walter Roberson
on 24 Dec 2012

extract ~ROI

Image Analyst
on 24 Dec 2012

I don't see any such function as "extract". Where do you get it?

Answer by Image Analyst
on 24 Dec 2012
Edited by Image Analyst
on 24 Dec 2012

See my BlobsDemo It finds coins in an image, finds the bounding box of each coin, and then extracts (crops) each bounding box to its own image.


Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi test

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!