MATLAB函数imread无法读取图像数据!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MATLAB函数imread无法读取图像数据!相关的知识,希望对你有一定的参考价值。

代码如下:[I,map]=imread('IKNOS_pan.tif');
figure(1);
imshow(I,map);
显示错误为:
??? Error using ==> imread
File "IKNOS_pan.tif" does not exist.

Error in ==> pan at 3
[I,map]=imread('IKNOS_pan.tif');
这个文件是存在的,我换成其他文件,结果还是这样的!哪位大侠会啊,还请多多指教啊

你要加入文件的存放路径啊!除非你的文件就存放在当前的工作目录下,负责读取图像的时候都是要加入文件路径的。
[I,map]=imread('E:\图像处理\my_paper\pcture\lenacolor256.jpg');
figure(1);
imshow(I,map);
这样的要的I是图像矩阵,map为空矩阵。追问

谢谢啊,问题已经解决。我还想问如何保存处理后的图像呢?

参考技术A 把文件的具体路径写进去,比如[I,map]=imread('D:\pic\IKNOS_pan.tif');本回答被提问者和网友采纳

MATLAB中图像的基本操作

MATLAB中图像的基本操作

1、读取、显示图片

MATLAB中提供了immread()与imshow()函数读取和显示图片。其中读取函数imread()原型:

imread:
A = imread(filename, fmt)

 

A是结构体名,用来存储读入的图像数据。filename是读取的文件名,文件名要用”括起来。fmt是读取文件的类型如:jpg、png等等,这个参数可以不输入,由MATLAB自动判断。 
显示函数imshow()原型:

imshow:
imshow(I)

 

I为读取后保存在MATLAB中的结构体名。 
程序实例:  

 
A=imread(1.jpg);%读取名为1.jpg的图片
imshow(A)%显示图片

 

技术图片

2、将灰度图片变成负片

对图像进行操作,实际上是将图像看成许多个像素点,对每个像素点进行操作。在计算机系统中,灰度图片被看成是许多个由值在[0~255]之间的像素点组成的图像,255表示白色,0表示黑色,黑白之间存在256个灰度级。 
技术图片 
  负片是指将原灰度图白色的地方变成黑色,黑色的地方变成白色。也就是将0变成255,255变成0。MALTAB的imadjust()函数提供了该功能。其函数原型:  

imadjust:
 J = imadjust(I,[low_in; high_in],[low_out; high_out])

 

  其中,I为原灰度图像,low_in,high_in为输入图像的低和高灰度级,设置为[0,1]表示从0~255的归一化,low_out,high_out为输出图像的低高灰度级。 
  若是想将图片转换为负片,那么将[low_in; high_in]设置为[0,1],将[low_out; high_out]设置为[1,0]。即原来输入为0的地方变成1输出,输入为1的地方变成0输出。 
  实例: 

A=imread(1.jpg);
imshow(A)%显示原图
A1=imadjust(A,[0,1],[1,0]);%将灰度级对调
figure,imshow(A1)%显示负片

 

技术图片

3、彩色图片转换成灰度图片

  我们在计算机中看到的大多数彩色图片是基于RBG三通道的图片,红绿蓝三种颜色,每一种取值均为[0~255]。通过255*255*255,可以构成庞大的颜色群。而灰度图像只有256个灰度级。通过以下公式可以将RGB转换成灰度 
  GRAY=0.2989 R + 0.5870 * G + 0.1140 * B* 
  MATLAB中提供的函数rgb2gray为我们提供了将彩色图片转换成灰度图片的功能。函数原型: 

I = rgb2gray(RGB)
  • 1

实例:

A=imread(001.png);%原彩色图片
imshow(A)
A_gray=rgb2gray(A);%转换成灰度图片
figure,imshow(A_gray)

 

技术图片
  

以上是关于MATLAB函数imread无法读取图像数据!的主要内容,如果未能解决你的问题,请参考以下文章

matlab中imread读入图像的原理是啥? 请帮忙一些学术的语言表达一下。。。。

关于matlab的imread函数

给我一个实例,Matlab中用imread函数读取一个图像,求详细步骤

matlab读取图片作为刺激图片

怎样用matlab保存剪切的tif图像?

matlab imread函数