필터 지우기
필터 지우기

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

조회 수: 3 (최근 30일)
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 CenterFile Exchange에서 Images에 대해 자세히 알아보기

제품


릴리스

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by