MATLAB Answers

0

How to retrieve the RGB color information from its original image to the segmented sub-images after applying bwlabel()

Asked by Leow Bin on 27 Feb 2019
Latest activity Commented on by Leow Bin on 28 Feb 2019
Hi everyone, I have an project which currently need to segmented blast cells from a microscopic image. I had done the watershed segmentation, and I had tried to use bwlabel() function to crop out the blast cells into several sub-images. However, I would like to ask about how to retrieve back the original RGB color space to the sub-images which is just a binary image. I hope someone can help me in this matter, thanks in advance.

  0 Comments

Sign in to comment.

1 Answer

Answer by awezmm
on 28 Feb 2019

If I understand you correctly, you want overlay the masked binary back into the RGB so that single cells show up as color.
Lets say that rgb_img is the variable for your rgb image
binary_img is the variable for your masked image
overlayed = bsxfun(@times, rgb_img, cast(binary_img,class(rgb_img)))

  1 Comment

Hi Mr. Awezmm, thank you for answering my question. That's exact what I meant! However, I had found the similar solution this morning by using masked image too. I had creating crop RGB images for the masked Image, and overlay into the binary Image. The idea was getting from the articles grabcut from matworks. Anyway, thank you for your answer and below is my code:
subImage1 = imcrop(rgbImage, thisBlobsBoundingBox);
subImage = imcrop(thisBlob, thisBlobsBoundingBox); ho
maskedImage2 = subImage1;
maskedImage2(repmat(~subImage,[1 1 3])) = 0;

Sign in to comment.