color segmentation/substraction of green screen from image
4 次查看(过去 30 天)
显示 更早的评论
Hi i have taken photos of rocks using a green screen as a background. please see:- <http://www.flickr.com/photos/24335673@N04/7683980794/in/photostream/>>
i would like subtract the green bg as effectively as possible so that the boundary of the rock is preserved. would color segmentation be a good method? if so how can i achieve it? or perhaps a different seg method? thank sharif
0 个评论
回答(1 个)
Image Analyst
2012-7-31
编辑:Image Analyst
2012-7-31
Get the separate color channels:
% Extract the individual red, green, and blue color channels.
redChannel = rgbImage(:, :, 1);
greenChannel = rgbImage(:, :, 2);
blueChannel = rgbImage(:, :, 3);
Then look where the blue and red channels are dark and the green channel is high.
mask = (redChannel < 50) & (blueChannel < 50) & (greenChannel > 50);
% Mask the image.
maskedRgbImage = bsxfun(@times, rgbImage, cast(mask,class(rgbImage)));
You copyrighted the image to prevent download, so that's about all I can do.
3 个评论
Image Analyst
2015-4-20
Red and blue will be high and green will be low. Use impixelinfo() to let you mouse around the image and see what the RGB values are.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Segmentation and Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!