Greetings everyone.
[X, MAP] = imread('test.jpg');
RGB = ind2rgb(X,MAP);
LAB = rgb2lab(RGB);
Here I tried to convert from index to RGB image using 'ind2rgb' command, but the result is like this: Index exceeds matrix dimensions.
Error in ind2rgb (line 26) r = zeros(size(a)); r(:) = cm(a,1);
I already tried to looking for the solution on the internet, but I couldn't find it.
Hope someone who knew how to fix it, kindly give me a lead here.
Here I also attached the file that I used for this command.
Thank you before.

4 个评论

It is because map might be [0 0] or empty matrix.
I don't see an error with you code, but why do you read the image as an indexed image? Why not let imread read you image as an RGB immediately?
"Why not let imread read you image as an RGB immediately?"
imread does not convert indexed images to RGB.
Actually I was trying to use the image processing just as mentioned in this page,
https://www.mathworks.com/help/images/ref/adapthisteq.html
But I got stuck on the ind2rgb part, so I ask some help here.
Anyway, thank you very much for your comment.
I wonder, is there any way to improve the sharpness and quality of the color image?
Since I was tried to improve the quality of my picture, but all the available solution I found was for greyscale image. Thank you before.

请先登录,再进行评论。

 采纳的回答

KSSV
KSSV 2017-11-8
Try this:
[RGB, MAP] = imread('test.jpg');
[X,map] = rgb2ind(RGB,32) ;
RGB = ind2rgb(X,map);
LAB = rgb2lab(RGB);

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Programming 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by