How we can merge mask on RGB image

7 views (last 30 days)
Suppose I am having original image '1.jpg'- dimensions (605x700x3 uint8) and mask image 'D'-dimensions (255x255 unit 8). How do I showcase mask image on original image?

Accepted Answer

Image Analyst
Image Analyst on 24 May 2018
I don't know what "showcase" means to you, but maybe you mean to mask the RGB image with the binary image. If so, do this:
% Mask the image using bsxfun() function to multiply the mask by each channel individually.
maskedRgbImage = bsxfun(@times, rgbImage, cast(mask, 'like', rgbImage));

More Answers (1)

sakshi ahuja
sakshi ahuja on 24 May 2018
I tried this- maskedRgbImage = bsxfun(@times, img, cast(D, 'like', img)); but it is giving error- Error using bsxfun Non-singleton dimensions of the two input arrays must match each other. Final image has been attached.
  1 Comment
Image Analyst
Image Analyst on 24 May 2018
D must be a 2-D logical image. img must be a 3-D RGB full color image. They both must have the same number of rows and columns. What does this show in the command window:
[rowsD, colsD, colorsD] = size(D) % No semicolon!
[rowsi, colsi, colorsi] = size(img) % No semicolon!

Sign in to comment.

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!