Coloring the largest component with different color than others

2 次查看(过去 30 天)
Hello all,
I am looking to mark the largest connected component in an image with special color say 'red', and then color the other components in black while the empty space I wanted to be colored in white.Here are my codes.
  1 个评论
Sultan
Sultan 2017-7-12
A=rand(100);
B=A<.5
CC = bwconncomp(B,4)
numOfPixels = cellfun(@numel,CC.PixelIdxList)
[unused,indexOfMax] = max(numOfPixels)
biggest = zeros(size(B))
biggest(CC.PixelIdxList{indexOfMax}) = 1
colours=[1 1 1;1 0 0;0 0 0]
colormap (colours)
imagesc(biggest)

请先登录,再进行评论。

回答(1 个)

Prashant Arora
Prashant Arora 2017-7-17
Hi Sultan,
You can use the method below to achieve your use-case.
image = zeros(size(biggest,1),size(biggest,2),3);
NotBiggest = B - biggest;
image(:,:,1) = biggest + 1*NotBiggest;
image(:,:,2) = 0*biggest + 1*NotBiggest;
image(:,:,3) = 0*biggest + 1*NotBiggest;
imagesc(image);

类别

Help CenterFile Exchange 中查找有关 Red 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by