How to multiply binary image and rgb image in matlab?

21 ビュー (過去 30 日間)
bay rem
bay rem 2016 年 3 月 3 日
コメント済み: Sanzhar Askaruly 2018 年 10 月 31 日
I have a binary image which is the segmented form of another color image . As you know , a binary image is 2-d but an rgb image is 3-d , how want to multiply them together ? i tried this code but an error is generated: function skinCrop(bwSkin,colorSkin)
for i = 1:size(colorImage,1)
for j = 1:size(colorImage,2)
if bwImage(i,j) == 0
colorImage(i,j,:) = 0;
end
end
end
imshow(colorImage);
end
and here there is the error:
Index exceeds matrix dimensions.
  3 件のコメント
bay rem
bay rem 2016 年 3 月 3 日
its the complete error,thank you, i'll check the sizes
Sanzhar Askaruly
Sanzhar Askaruly 2018 年 10 月 31 日
I tried your code, it worked, so it seems sizes are the problem.

サインインしてコメントする。

採用された回答

Image Analyst
Image Analyst 2016 年 3 月 3 日
There are several ways to do what you want, though bsxfun() is the method I usually use (though it's more cryptic than the .* straightforward method). I first learned that from Sean DeWolski of the Mathworks. However, if bwImage is not the same integer type as colorImage, you will have to modify it.
% Mask the image using bsxfun() function
maskedRgbImage = bsxfun(@times, colorImage, cast(bwImage, 'like', colorImage));
If they're already both the same data type, then having cast in there won't hurt so I always put it in there regardless.

その他の回答 (1 件)

Jan
Jan 2016 年 3 月 3 日
if both images have the same number of pixels:
result = colorImage .* cat(3, bwImage, bwImage, bwImage);
  7 件のコメント
swathi
swathi 2018 年 3 月 19 日
Thank you very much sir. It worked. Can I extend me query a little more, if you don mind(Sorry for it). Can I use this code to remove object from all frames in which it(or part of it) is visible? I need some advice, as I am working 1st time on videos. Thanks in advance

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeImage Processing Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by