matlab自定义矩阵,并将其以图片的形式显示

我定义一个m*n*3的矩阵,比如说一个100*100*3的矩阵,矩阵第三维为0-255之间的颜色值。作为实验,我嘉定全部像素点的第三位RGB值分别为255,0,0 即构造一个100*100像素的红色图片 然后imshow的时候为什么是全黑??怎样才能让自己定义的图片正常显示??

生成的矩阵如果是用rgb表示的三维矩阵
那么应该用uint8的数据类型,才能用imshow正确显示

假如你自定义的m*n*3的矩阵是a
一般a是double类型的数据
你用
a=uint8(a);
强制转换为uint8类型
再用imshow(a)就可以了

当然在用uint8转换时,确保a的值在0~255之间
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-02
m=zeros(100,100,3);
m(:,:,1)=255;
imshow(m)
结果是红色的,没有见到黑点
相似回答