永发信息网

在matlab中jpg,bmp等格式图像都可用矩阵表示吗,都是读取灰度值?

答案:2  悬赏:60  手机版
解决时间 2021-01-27 09:10
  • 提问者网友:未信
  • 2021-01-26 14:34
所说的jpg图像压缩格式是对图像哪一方面数据的压缩?
最佳答案
  • 五星知识达人网友:十年萤火照君眠
  • 2021-01-26 15:53
Matlab 如何实现 BMP读取
MATLAB支持五种图像类型,即索引图像、灰度图像、二值图像、RGB图像和多帧图像阵列;支持BMP、GIF、HDF、JPEG、PCX、PNG、TIFF、XWD、CUR、ICO等图像文件格式的读,写和显示。MATLAB对图像的处理功能主要集中在它的图像处理工具箱(Image Processing Toolbox)中。图像处理工具箱是由一系列支持图像处理操作的函数组成,可以进行诸如几何操作、线性滤波和滤波器设计、图像变换、图像分析与图像增强、二值图像操作以及形态学处理等图像处理操作。下面用一些实例进行简单说明:

1、图像的读取
MATLAB中从图像文件中读取数据用函数imread(),这个函数的作用就是将图像文件的数据读入矩阵中,此外还可以用imfinfo()函数查看图像文件的信息(见例1)

%例1:图像数据及图像信息的读取
imfinfo e:\matlabwork\tuxiang\Girl.bmp
%读取图像信息
[A,M]=imread('e:\matlabwork\tuxiang\Girl.bmp','bmp');
%图像数据的读取,将图像数据放入矩阵A中,颜色数据放入矩阵M中
imshow(A,M);title('原图像');
M(:,1)=0;  %将颜色数据矩阵的一列置零
figure
imshow(A,M);title('改变颜色后的图像')
全部回答
  • 1楼网友:北方的南先生
  • 2021-01-26 16:45
bmp的图像是彩色的,也就是说有rgb三个波段,读出的图像数据是一个m*n*3的数组,如果想把它变成灰度图像的,只要分离出任意rgb中的一个分量即可,例如你的图像是1.bmp, x=imread('1.bmp');imshow(x); y=x(:,:,1); imshow(y);就可以了,不知道你是想怎样把图像变成灰度的,如果三个分量都想要的话,做个计算也可以的,例如把rgb做个平均;y=1/3*x(:,:,1)+1/3*x(:,:,2)+1/3*x(:,:,3);imshow(y);
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯