Azzera filtri
Azzera filtri

Find index of unique pixel values and assign a color to the image. Original image is a grayscale.

2 visualizzazioni (ultimi 30 giorni)
I have a grayscale image in which objects are represented as:
Object Pixel Value
Background 0
Class 1 1
Class 2 2
Class 3 3
Class 4 4
Class 5 5
There are no other pixel values except the 6 mentioned above. Background is essentially present, other objects may or may not be present.
The requirement is to assign specific colors to the objects
Object Pixel Value Color
Background 0 Black
Class 1 1 Red
Class 2 2 Green
Class 3 3 Blue
Class 4 4 White
Class 5 5 Pink
For an example, i am attaching an image with Background, Class 4 and Class 5

Risposta accettata

Walter Roberson
Walter Roberson il 29 Lug 2022
cmap = [
0 0 0 %black
1 0 0 %red
0 1 0 %green
0 0 1 %blue
1 1 1 %white
1 0 1 %fuschia
];
filename = 'https://www.mathworks.com/matlabcentral/answers/uploaded_files/1081490/case_452_14.png';
grayimg = imread(filename);
imshow(grayimg, [])
rgbimg = ind2rgb(grayimg, cmap);
imshow(rgbimg)
  4 Commenti
Rishi Raj
Rishi Raj il 29 Lug 2022
ok.. png has to be saved with a different format.. the following code worked..
path=strcat('/Volumes/ESD-USB/_RISHI/TTV_png/Test/mask_visible/',name, '.png');
imwrite(grayImage,cmap, path);
Walter Roberson
Walter Roberson il 29 Lug 2022
The problem you had with writing the rgbimage is that 'Quality' is not a valid option for png files.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by