If ROI is already outlined how to mask ROI without using imfreehand function output parameters?

1 visualización (últimos 30 días)
I have detected the region of interest in an image without using imfreehand function. Now I want to mask inside the ROI which I have outlined in red line as shown in below image. http://img534.imageshack.us/img534/4272/output3l.jpg
I am stuck up with following part of code.
hFH = imfreehand();
binaryImage = hFH.createMask();
xy = hFH.getPosition;
I dont want to use imfreehand as I have already detected ROI. So in above code what should I assign to hFH?
Can somebody please help me with this? Thanks in advance for your help!
  3 comentarios
Amith Kamath
Amith Kamath el 7 de En. de 2013
hFH would be an object inherited from the imroi class, and the methods available for it are
methods imfreehand
As far as I understand your question, you are trying to compare pixel values from your ROI with a freehand ROI using imfreehand? Would that not be possible by just an and between the ROI and your image?
Prashant Kashid
Prashant Kashid el 7 de En. de 2013
Yes you are partially right. My intention here is to mask the ROI which I have already detected using Random Walker algorithm (& obviously without using imfreehand). If I could able to mask the ROI it would be helpful to proceed further for calculations such as Area, Centroid, Perimeter etc. It would be a great help if somebody could help me to mask the ROI as discussed above.

Iniciar sesión para comentar.

Respuesta aceptada

Image Analyst
Image Analyst el 7 de En. de 2013
I'm not sure what you're asking. What is "the ROI" - the area you drew with imfreehand(), or the white binary blob inside that, or the whole image?
And what does " the similar values from the "Region of Interest"" mean? Do you mean the gray levels in that ROI?
I don't understand what you're going to "apply the mask" to? What is the mask anyway? Is it the same as the ROI, or is it something else?
  9 comentarios
Image Analyst
Image Analyst el 9 de En. de 2013
If somebody masked the image like that, and saved it as an RGB image, then you need to find the red:
% Extract the individual red, green, and blue color channels.
redChannel = rgbImage(:, :, 1);
greenChannel = rgbImage(:, :, 2);
blueChannel = rgbImage(:, :, 3);
% Find the outline by itself.
redOutline = (redChannel == 255) & ...
(greenChannel == 0) & ...
(blueChannel == 0);
% Fill it in
filledRedMaskImage = imfill(redOutline, 'holes');
% Count pixels
areaInPixels = sum(filledRedMaskImage (:));

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Image Segmentation and Analysis en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by