How to remove the found image from the original image?

2 views (last 30 days)
Hi, I am a beginner to MATLAB image processing.
I have an original fundus image as shown. And i have found the vessel tree as attached which I need to remove from the fundus image.
My question is how can I remove the vessel tree from the original image?
Thank you.

Accepted Answer

Image Analyst
Image Analyst on 3 Jun 2022
You can invert the mask to get everything except the vessels, then mask:
% Get fundus mask, which is the opposite of the vessel mask
mask = ~vesselMask;
% Mask image by multiplying each channel by the mask.
maskedRgbImage = rgbImage .* cast(mask, 'like', rgbImage); % R2016b or later. Works for gray scale as well as RGB Color images.
% For R2016a or earlier, mask the image using bsxfun() function to multiply the mask by each channel individually. Works for gray scale as well as RGB Color images.
% maskedRgbImage = bsxfun(@times, rgbImage, cast(mask, 'like', rgbImage)); % R2016a or earlier.
  5 Comments
Image Analyst
Image Analyst on 4 Jun 2022
If you want to "fill in" the vessels with the weighted average of the nearby non-vessel gray levels, you can use regionfill.

Sign in to comment.

More Answers (0)

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!