Matlab:由3维矩阵给出的绘图图像

时间:2015-11-10 15:40:43

标签: matlab

我想要绘制一张图片。因此,我有一个尺寸为wxhx3的矩阵,其中w和h是分辨率(宽度,高度)。第三维包含rgb颜色的矢量。 因此,图像(1,1,1)是像素(1,1)的红色分量,图像(1,1,2)是绿色,图像(1,1,3)是蓝色。 现在我的问题是,如何用这个给定的矩阵绘制图像?

如果我想使用图像(..),我必须定义一个色彩图并重新计算索引,因为图像(...)需要一个wxhx1矩阵。

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

Matlab图像显示功能(imageimshowimagesc)获取格式化为图像格式的数据(uint8用于8位图像和{{ 1}}用于16位图像)或uint16类型的数据用于[0,1]范围内的值。

因此,如果您在[0,255]范围内的值(或16位图像的[0,65535]),您可以尝试:

double

imshow(uint8(matrix))

如果您的值在[0,1]范围内,您可以尝试:

imshow(uint16(matrix))

或者,最不值得推荐的,如果您的值不适合这些情况,您可以尝试:

imshow(double(matrix))

编辑:来自@rayryeng评论。