Find index of unique pixel values and assign a color to the image. Original image is a grayscale.
1 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
采纳的回答
Walter Roberson
2022-7-29
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 个评论
Walter Roberson
2022-7-29
The problem you had with writing the rgbimage is that 'Quality' is not a valid option for png files.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!