您的位置 首页 > 数码极客

matlab如何读取以mat格式保存的图像文件

在上一篇文章中,我们通过imfinfo()函数,可以获取某一幅图像的详细信息。在了解了图像文件的信息后,我们就需要把图像读到MATLAB工作空间中,以便对图像数据进行操作。

下面,对MATLAB图像处理工具箱中的读写操作和图像显示操作,即imread(),imwrite(),imshow()函数,作简单介绍。

imread()函数的调用格式:

  • I=imread(filename, fmt):读入文件名为filename,格式为fmt的图像文件;

  • [X, map]=imread(filename, fmt):读入图像文件,并以索引图像的形式表示为X矩阵和map矩阵;

  • I=imread(URL):读入网络图像,输入的网址需以“http://”开头。

imwrite()函数的调用格式:

  • imwrite(A,filename):将表示图像的矩阵A写入磁盘中,并命名为filename,可以包含保存路径;

  • imwrite(X,map,filename):将表示索引图像的矩阵X和map写入磁盘中,并命名为filename;

  • imwrite(A,filename,fmt):确定图像文件的保存格式,如‘png’,‘bmp’等。

imshow()函数的调用格式:

  • imshow(I):显示矩阵I代表的图像;

  • imshow(filename):通过路径及图像名直接显示图像文件;

  • imshow(I,RI):显示矩阵I代表的图像,并对图像比例做调整,RI可以作为结构体,然后定义X,Y两个方向的比例,达到拉伸或挤压图像的效果;

  • imshow(X,map):显示X,map两个矩阵表示的索引图像;

  • imshow(I,[low high]):显示图像,并规定图像像素值的范围,低于low的像素值变为low,高于high的像素值变为high;imshow支持的数据(即像素值)包括double和unit8两种类型,double的取值为0~1之间,unit8取值0~255。

下面以一个实例来看看上述函数对图像的处理效果:

代码:

figure;imshow(I1);

I1=imread('c:/ir_5.png');

[X map]=imread('c:/ir_5.png');

I2=imread(';fm=11&gp=0.jpg');

imwrite(I1,';);

figure(1);imshow(I1);

figure(2);imshow(';);

figure(3);imshow(I2);

I3=rgb2gray(I2);

figure(6);imshow(I3,[0 234]);

figure(7);imshow(I3,[]);

figure(8);imshow(I3,[40 100]);

图像显示效果:

figure1,可以显示矩阵I1表示的图像。

figure2,可以对已保存的图像,通过文件名显示。

figure3,可以显示网络图像。

figure6,灰度图像显示,其本身颜色范围为[0 255],这里限定其范围为[0 234],图像变化不明显。

figure7,这里限定其范围为[ ],即[0 255],为正常的灰度图像。

figure8,这里限定其范围为[ ],即[40 100],由于范围缩小较大,导致图像变化明显。

最后,感谢您的耐心阅读!

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“matlab如何读取以mat格式保存的图像文件”边界阅读