How to get the region shown in the image ?

i want to get the red region as specified in the image below :
remember that the red region that is shown in the image is just for clarification , it is not present in original image , below is the original image attached :
i also have the iris point in this region, i already got that point , if that point can help me so i can share that image too.
can someone help me in this .....

 Risposta accettata

You didn't attach an image, you attached a screenshot so I can't run any code on it. Anyway, here's how to do it (untested)
% Invert the image so you have a white ring.
maskImage = ~binaryImage;
imshow(maskImage);
% Fill the image so you have a white disk.
maskImage= imfill(maskImage, 'holes');
% Mask your original binary image.
binaryImage(~maskImage) = false;
Or, if you already know a point in the iris, you can use that to make a marker image and then call imreconstruct().
markerImage = false(size(binaryImage));
markerImage(row, column) = true; % Put a dot where the iris is.
% Extract only the blob containing the dot.
outputImage = imreconstruct(binaryImage, markerImage);

5 Commenti

Thank you, it works fine but it also gives small regions with the region required.
You can use bwareaopen() to get rid of small areas.
okay Thank You
May I get the full code of this Mr. Ali Zeeshan
What would probably be better for you is to study my Image Segmentation Tutorial: https://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862&sort=downloads_desc

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by