Coloring the largest component with different color than others

1 Ansicht (letzte 30 Tage)
Sultan
Sultan am 12 Jul. 2017
Beantwortet: Prashant Arora am 17 Jul. 2017
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 Kommentar
Sultan
Sultan am 12 Jul. 2017
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)

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Prashant Arora
Prashant Arora am 17 Jul. 2017
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);

Kategorien

Mehr zu Migrate GUIDE Apps finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by