MATLAB读取彩色图像的RGB值

MATLAB图像R1=a(:,:,1); R1=a(:,1);有区别吗

1、启动MATLAB,新建脚本(Ctrl+N),输入如下代码。

2、保存和运行上述脚本,读取并显示的猫眼星云照片如下。

3、接着输入如下代码:该代码通过mean( )改变猫眼星云照片的数据值和colormap( )改变图片着色。

4、、保存和运行上述脚本,得到改变着色的猫眼星云图片如下。

5、colormap( )的选项有Jet,HSV,Hot,Cool,Spring,Summer,Autumn,Winter,Gray,Bone,Copper,Pink,Lines等,可以在命令行窗口(Command Window)输入doc colormap查看帮助文档对colormap的介绍。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-29
有区别

你用imread读取的彩色图像是一个3维的矩阵
其中第三维的长度是3,而前面两位的大小正是图像像素的大小
你可以看成是3张和原来图像大小一个样的图片,只是分别存放RGB三个通道的信息

那么R1=a(:,:,1)返回的是一个二维的矩阵,大小和图片一样
就是取这三张图片的第一张图片,就是红色的分量的图片

而R1=a(:,1)是不对的本回答被网友采纳
第2个回答  2014-05-28
有区别,第一个图像矩阵是三维的,读取的是RGB三种颜色中的一种,而第二个是二维的,读取的是灰度图像的第一列灰度值!
相似回答