how to show background in original color after segmented ??

2 ビュー (過去 30 日間)
nina merina
nina merina 2014 年 12 月 3 日
回答済み: Sammit Jain 2017 年 11 月 28 日
how to show background in original color after be segmented ??

回答 (3 件)

Meshooo
Meshooo 2014 年 12 月 3 日

Image Analyst
Image Analyst 2014 年 12 月 3 日
I have several color segmentation methods in my File Exchange: http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862 They segment the image into "foreground" (the objects of the color you want), and "background" (the colors you don't want). You can use the invert the foreground mask to give an image of just the background:
backgroundMask = ~foregroundMask;
% Mask the image using bsxfun() function
backgroundOnlyImage = bsxfun(@times, rgbImage, cast(backgroundMask, class(rgbImage)));

Sammit Jain
Sammit Jain 2017 年 11 月 28 日
If you have the background portion of the image, then just binarize it, and take logical product with the original image.
outImg = origImg.*(backImg>0.5);
Here make sure that your dimensions are in order.

Community Treasure Hunt

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

Start Hunting!

Translated by