
how to mask the image and keep only one color "green channel"?
10 次查看(过去 30 天)
显示 更早的评论
Hi, here I have one photo and the code, please anyone help me to fix my code, I want to mask the binary with the RGB.
% Extract the individual red, green and blue color channel
redChannel = hasilcontrast(:,:,1);
greenChannel = hasilcontrast(:,:,2);
blueChannel = hasilcontrast(:,:,3);
% Create the mask
mask = cast(green, class(hasilcontrast));
redmask = redChannel.*mask;
greenmask = greenChannel.*mask;
bluemask = blueChannel.*mask;
% segmentasi
maskRGBimage = cat(3,redmask, greenmask, bluemask);
I not get the result, how I do to show the image. please help me sir
采纳的回答
Image Analyst
2018-9-26
I've done this so many times I lost track, and some time back decided to make a demo of it. Leaf, fruit, money, handwriting, leaf, fruit, money, handwriting, everyone wants to segment a leaf, fruit, money, or handwriting. Click on the tag "leaf" on the right hand side of this page. See attached demo.

11 个评论
Image Analyst
2018-9-27
If you get holes in your leaf, and don't want them, you can call
mask = imfill(mask, 'holes');
更多回答(1 个)
Akira Agata
2018-9-26
Hi Oman-san,
Thank you for your prompt reply. The following is the code to generate the posted figure. I hope this will be some help for your research!
% Read the image
I = imread('base1.bmp');
% Create a mask based on a green channel of the image
BWmask = ~imbinarize(I(:,:,2));
BWmask = imfill(BWmask,'holes');
% Create a masked RGB image
Imasked = immultiply(I,repmat(BWmask,[1 1 3]));
% Show the results
figure
subplot(2,2,1)
imshow(I)
title('Original','FontSize',12)
subplot(2,2,2)
imshow(BWmask)
title('Mask','FontSize',12)
subplot(2,2,3)
imshow(Imasked)
title('Masked RGB','FontSize',12)
另请参阅
类别
在 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!