【发布时间】:2012-03-28 15:36:42
【问题描述】:
我在 matlab 中有一个双精度矩阵,我想将其转换为 HSV 图像,其中假定相似的双精度值将以相同的颜色出现。我已经用 mat2gray 转换为 RGB,但我想直接从双矩阵转换为 hsv 图像。有可能吗?
谢谢
【问题讨论】:
我在 matlab 中有一个双精度矩阵,我想将其转换为 HSV 图像,其中假定相似的双精度值将以相同的颜色出现。我已经用 mat2gray 转换为 RGB,但我想直接从双矩阵转换为 hsv 图像。有可能吗?
谢谢
【问题讨论】:
您是在问您是否可以做 image 和 imagesc 所做的事情。是的你可以。您只需要插入到“hsv”颜色图中。以下代码 sn -p 演示了如何执行此操作。它假设您的值在 0 和 1 之间缩放;不过你可以很容易地改变它。
im = [0 .5 1; .7 .6 .2; .9 .3 .4];
cm = colormap('hsv');
cdata = interp1(linspace(0,1,length(cm)),cm,im);
figure;image(cdata)
cdata 将是一个 (row x col x 3) 矩阵,您可以直接使用 image 来查看它,或者从那里做任何您需要的事情。
【讨论】: