Image Extraction From Another one

 Accepted Answer

Convert to HSV color space and take where the saturation > 0
hsvImage = rgb2hsv(rgbImage);
mask = hsvImage(:, :, 2) > 0;
% 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));
%maskedRgbImage = pagemtimes(rgbImage, cast(mask, 'like', rgbImage)); % R2020b and later.

More Answers (0)

Categories

Asked:

on 12 Oct 2021

Commented:

on 12 Oct 2021

Community Treasure Hunt

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

Start Hunting!