How we can merge mask on RGB image

5 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.

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!