用matlab读取彩色图片,并提取RGB值按像素顺序放到一个三维矩阵里,该怎么写程序

用matlab读取彩色图片,并提取RGB值按像素顺序放到一个三维矩阵里,该怎么写程序,第1张

不知道你为什么要生成第一、二、三列分别表示每个像素的r、g、b值的矩阵,其实matlab自动把三个通道分开是有道理的,处理会很方便,如果你一定要生产你想要的矩阵,可尝试以下几种方法:

1以进制的格式读,然后去掉图像的信息头(注意每个格式的头文件包含的字节数都不一样的,以真彩色BMP为例,其头文件有54个字节,去掉着54个字节后就是图像的RGB信息了)

2第二种会稍微方便些,用imread读图生成一个三维矩阵,然后你新建一个你想要的二维矩阵,把前面得到的RGB信息填充进去

使用imread函数

例如

f = imread('e:\imagejpg');

f是得到的图像矩阵,e:\imagejpg是欲读取图像所在路径,如果就在当前工作目录,也可以使用相对路径的形式。

维数不匹配,赋值的前提条件一定是两个相同维数的矩阵,你把1n的矩阵赋值到n1的矩阵变量上,明显会冲突,所以可以将x,y求反之后在赋值,如果x,y的长度相同的话,下列式子就是你想要的结果:

R(1,:)=x';

R(:,1)=y';

如果x,y长度不相同的话就把多余的删了,少的补上值

以上就是关于用matlab读取彩色图片,并提取RGB值按像素顺序放到一个三维矩阵里,该怎么写程序全部的内容,包括:用matlab读取彩色图片,并提取RGB值按像素顺序放到一个三维矩阵里,该怎么写程序、如何在MATLAB中读RGB 图像、关于matlab中彩色图像中RGB的坐标提取与赋值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9748289.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存