我想要绘制一张图片。因此,我有一个尺寸为wxhx3的矩阵,其中w和h是分辨率(宽度,高度)。第三维包含rgb颜色的矢量。 因此,图像(1,1,1)是像素(1,1)的红色分量,图像(1,1,2)是绿色,图像(1,1,3)是蓝色。 现在我的问题是,如何用这个给定的矩阵绘制图像?
如果我想使用图像(..),我必须定义一个色彩图并重新计算索引,因为图像(...)需要一个wxhx1矩阵。
任何人都可以帮助我吗?
答案 0 :(得分:1)
Matlab图像显示功能(image
,imshow
,imagesc
)获取格式化为图像格式的数据(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评论。