In labelled binary image, fill the blobs with different colors defined by me.

2 ビュー (過去 30 日間)
Naseeb Gill
Naseeb Gill 2020 年 5 月 25 日
コメント済み: darova 2020 年 5 月 26 日
Hello,
I have this labelled binary image with multiple blobs. I want to fill the labelled blobs with colors defined by me. For example: as shown in image, blobs of label 2,4 and 8, I want them to be filled with green color. Similarly, blobs of label 5,6 and 11, I want them to be filled with red color. Rest blobs should be filled with blue color. I know about label2rgb command but dont know how to do this color filling with label2rgb.
How to do this?

採用された回答

darova
darova 2020 年 5 月 25 日
  • use bwselect to select specific blob. Assign pixels value: red - 1, green - 2, blue - 3
  • create your own colormap and use it to display colors
I1 = bwselect(I,coord_red); % choose pixels in red group
I2 = bwselect(I,coord_green); % choose pixels in green group
I3 = bwselect(I,coord_blue); % choose pixels in blue group
II = I1*1 + I2*2 + I3*3; % create new image
% create new colormap
cmap = [0 0 0 % black
1 0 0 % red
0 1 0 % green
0 0 1]; % blue
ishow(II,cmap) % display new image with new colors
  2 件のコメント
Naseeb Gill
Naseeb Gill 2020 年 5 月 26 日
編集済み: Naseeb Gill 2020 年 5 月 26 日
Thanks for your response. But I don't know how to choose the specific blob? For example I want to select blob 5,6 and 11. How to select this using bwselect? It will be helpful if you show me code to choose the specific blob and then color it.
darova
darova 2020 年 5 月 26 日
Try this simple examlpe
I0 = imread('im1.png');
I1 = im2bw(I0);
cmap = jet(5); % experiment with colormap
II = 0*double(I1);
subplot(211)
imshow(I1)
for i = 2:5
p = ginput(1); % pick point
I2 = bwselect(I1,p(1),p(2)); % select region
II = II + I2*i; % paint region in
subplot(212)
imshow(II,cmap)
end

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeModify Image Colors についてさらに検索

製品


リリース

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by