how to show lab space image
Ältere Kommentare anzeigen
lab color space is (0-100),(-128-127),(-128-127), given an image under lab color space, how to show it suitably (imshow is not appropriate)?
Akzeptierte Antwort
Weitere Antworten (1)
Image Analyst
am 2 Mai 2018
You can look at each channel one at a time
subplot(3, 1, 1);
imshow(labImage(:, :, 1), []);
title('L Image', 'FontSize', 20);
subplot(3, 1, 2);
imshow(labImage(:, :, 2), []);
title('A Image', 'FontSize', 20);
subplot(3, 1, 3);
imshow(labImage(:, :, 3), []);
title('B Image', 'FontSize', 20);
3 Kommentare
Arthur Fernandes
am 16 Nov. 2018
That is good but there is anyway to save each subplot to file? That is not using the the save menu option? I'm asking because using any of the following code will write an image that is not using the same mapping in gray scale:
imwrite(labImage(:, :, 3),'imgfile.png');
imwrite(labImage(:, :, 3),gray(100),'imgfile.png');
imwrite(labImage(:, :, 3),gray(256),'imgfile.png');
Nor the following:
imshow(labImage(:, :, 3), []);
cmap = colormap;
imwrite(labImage(:, :, 3),cmap, 'imgfile.png');
Image Analyst
am 16 Nov. 2018
If you want a grayscale rendering of the image, not the actual values, you can convert to uint8 and then use a standard format like PNG:
uint8Image = uint8(255 * mat2gray(labImage(:, :, 1)));
imwrite(uint8Image, 'L Channel.PNG');
uint8Image = uint8(255 * mat2gray(labImage(:, :, 2)));
imwrite(uint8Image, 'A Channel.PNG');
uint8Image = uint8(255 * mat2gray(labImage(:, :, 3)));
imwrite(uint8Image, 'B Channel.PNG');
Arthur Fernandes
am 19 Nov. 2018
I didn't know about that mat2gray function, I was wandering if Matlab had someting more direct. But still better than using my on code. Thank you!
Kategorien
Mehr zu Convert Image Type finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!