matlab中imread读取的图片和直接地址读取图片有什么区别

img='D:\1.jpg';
img=imread('D:\1.jpg');
这两种读入的图片数据类型有什么区别。

matlab储存格式不同,第一种直接是字符型矩阵,第二种是以像素矩阵的形式储存。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-10-29
方法/步骤
1、在matlab软件中,读取图像数据(载入)利用的是imread函数,主要有以下4种方式:
A = imread(filename, fmt)
[X, map] = imread(...)
[...] = imread(filename)
[...] = imread(URL,...)
[...] = imread(...,Param1,Val1,Param2,Val2...)
作为初步以及最为常见的方式,采取第一种讲解。
如下图所示即为将载入的图片,图片格式(jpg) :

2、在命令窗口(Command Window)输入语句:
>> imdata = imread('haibao.jpg');
即读入图片数据保存在imdata矩阵中。如下所示,在Workspace可以看到该矩阵信息,是一个3维矩阵。

3、在读入图像数据后就可以进行各种算法操作,简单介绍几种常见的图片操作,如下代码可以将彩色图转为灰度图:
>> imdata = imread('haibao.jpg');

>> imgray = rgb2gray(imdata);

>> imshow(imgray);

4、图像二值化操作,如下所示即可:
>> imdata = imread('haibao.jpg');

>> lev = graythresh(imdata);

>> bwimg = im2bw(imdata,lev);

>> imshow(bwimg)
二值化后图像如下所示:追问

这回到的和问题不一样啊,能告诉我(如题)这两种读入有什么不同吗,我程序采用第一种读入可以,第二种读入会显示“输入数据类型必须是一行”。

本回答被提问者和网友采纳
相似回答