当前位置:首页 » 办公资讯 » matlab怎样读取图片文件

matlab怎样读取图片文件

发布时间: 2022-05-16 05:34:02

‘壹’ 如何用Matlab读入并显示图片文件

imMatrix = imread('name.jpg')%jpg也可以bmp,图片格式
MATLAB图像处理工具箱支持四种基本图像类型:索引图像、灰度图像、二进制图像和RGB图像。MATLAB直接从图像文件中读取的图像为RGB图像。
它存储在三维数组中。这个三维数组有三个面,依次对应于红(Red)、绿(Green)、蓝(Blue)三种颜色,而面中的数据则分别是这三种颜色的强度
值,面中的元素对应于图像中的像素点。设所得矩阵为X三维矩阵(256,256,3) ,X(:,:,1)代表红颜色的2维矩阵
X(:,:,2)代表绿颜色的2维矩阵,
X(:,:,3)代表兰颜色的2维矩阵。[X, map]=imread('34.bmp');r=double(X(:,:,1)); %r是256
x 256的红色信息矩阵g=double(X(:,:,2)); %g是256 x 256的绿色信息矩阵b=double(X(:,:,3));
%b是256 x 256的兰色信息矩阵
索引图像数据包括图像矩阵X与颜色图数组map,其中颜色图map是按图像中颜色值进行排序后的数组。对于每个像素,图像矩阵X包含一个值,这个值就是颜
色图数组map中的索引。颜色图map为m×3双精度矩阵,各行分别指定红、绿、蓝(R、G、B)单色值,map=[RGB],R、G、B为值域为
[0,1]的实数值,m为索引图像包含的像素个数。

对于相同的数据,采用uint8格式比双精度格式节省内存空间,从而更经济。在MATLAB中
如果索引图像的颜色图小于256行,则它的图像矩阵以uint8格式存储,否则以双精度格式存储。
一:imread:从图像文件夹中读取图像。
A = imread(FILENAME,FMT) 读取图像到A,如果文件是包含一灰度图像,A是一二维矩阵,如果文件是包含一真彩色图像(RGB),A是一三维矩阵(M-by-N-by-3)。FILENAME :图像文件名;FMT:图像文件格式;
文件必须在当前目录下,或在Matlab的一路径上。如果 imread不能够找到一名称为FILENAME的文件,那么它将找一名为FILENAME.FMT的文件
[X,MAP] = imread(FILENAME,FMT) 把图像FILENAME读入与它相关的图像色彩信息写入MAP,图像色彩信息值在范围[0,1]中自动地重新调整.
[...] = imread(FILENAME)这种方式是试图得到文件的格式从文件所包含的信息。
[...] = imread(URL,...)从一Internet URL上读图像 URL 必须包含协议(即: "http://").
1.2数据类型:
TIFF的特殊语法:
[...] = imread(...,IDX)
从很多图像TIFF文件中读一个图像;IDX是一个整数值,它显示了所读图像在文件中的顺序,例如:如果 IDX是 3,
imread将读文件中的第三个图像。 如果省略了这个变量, imread将读文件中的第一个图像.
IMREAD支持的图像文件格式:JPEG TIFF GIF BMP PNG HDF PCX XWD ICO CUR RAS PBM PGM PPM
相关信息也可在Matlab中查看: imfinfo, imwrite, imformats, fread,
二:imwrite输出图像
imwrite(A,FILENAME,FMT) 把图像 A 写入图像文件 FILENAME.
imwrite(X,MAP,FILENAME,FMT) 把 X和它的相关色彩信息MAP写入FILENAME.
imwrite(...,FILENAME) 把图像写入图像文件FILENAME,并推测可能的格式用来做filename的扩展名。扩展名必须是FMT中一合法名.
imwrite(...,PARAM1,VAL1,PARAM2,VAL2,...) 不同的参数控制输出文件的各种不同特征。参数要是当前所支持的HDF,JPEG, TIFF, PNG, PBM, PGM, 和PPM 文件
三:image 显示图像.image(C) 把矩阵 C 转成一图像. C 可以是一MxN 或 MxNx3维的矩阵,且可以是包含 double,
uint8,或 uint16 数据.image是用来显示附标图像,即显示的图像上有x,y坐标轴的显示,可以看到图像的像素大小。但可以加上axis
off命令即可把坐标去掉。
imshow只是显示图像。用colormap来定义图像显示用的颜色查找表,比如用colormap(pink),可以把黑白图像显示成带粉红色的图像。
图像像素矩阵的数据类型:(1)显示真彩色图像像素三维矩阵X,如果是uint8类型,要求矩阵的数据范围为0-255,(2)如果是double型,则其数据范围为0-1,要不就会出错或者出现空白页。
类型转换:(1)如果你原来的数值是uint8,在运算中转换为double后,实际要显示的数值没有改变的话,只要用uint8(X)就可转换为
uint8型,如果不想转换频繁,也可在显示时用X/255来转换为符合0-1double类型范围要求的数值显示。(2)如果显示索引图像(二维矩
阵),如果索引图像像素数值是double型,则它的取值范围为1-length(colormap),数值起点为1,则矩阵中数值为1的对应
colormap中第一行数据,如果索引图像像素数值是uint8,则取值范围为0-255,数值起点为0,则矩阵中数值为0的对应colormap中第
一行数据,所以索引图像这两个数据类型之间的转换,要考虑到+1或-1。直接用uint8或double转换则会查找移位,产生失真情况。uint16数
据类型与uint8类似,取值范围为0-65536。
四:其它常用图像操作:
图像显示于屏幕有imshow( ), image( )函数;
图像进行裁剪imcrop( );
图像的插值缩放imresize( )函数实现;
旋转用 imrotate( )实现。
五:具体的操作
下面通过运用图像处理工具箱中的有关函数对下图(nice.bmp)进行一些变换。见后面的transfer.m内容!

变换前图片:(nice.bmp)

变换后所得图片:newpic.bmp
例,在电脑F\picture下有一彩色图像文件nice.bmp,则可由下述语句读取:
下面是对图像 nice.bmp以y轴为对称轴所做的一个对称变换。
% Transfer1.m
clear all
figure
[x,map]=imread('F:\picture\nice.bmp');% 所得x为一375x420x3的矩阵
[w1,w2,w3]=size(x); % 375 X 420
w22=floor(w2/2);
image(x); %显示出图像
title('HELLO! @This is the first pose of me')%则显示出图像nice.bmp
axis off; % 去掉图像中的坐标
colormap(map); % colormap(),图像查找表函数。函数结构为colormap(map),设置当前的图像查找表到map。
imwrite(x,map,'nice.bmp')
for i=1:w1
for j=1:w22 % 图像关于y轴对折
t=x(i,j);
x(i,j)=x(i,w2-j+1);
x(i,w2-j+1)=t;
end
end
figure
image(x);
axis off
title('HELLO!!@@ Can you find any difference of my two picture! ') colormap(map);
imwrite(x,map,'newpic.bmp') %把x写到nepic2.bmpz中去
% Transfer1.m文件中包含了最基本也是最常用的对读像处理的命令。
在对图像处理的整个过程中,实质上是对[x,map]=imread(‘figure')函数中所得x矩阵的各种变换!

‘贰’ 如何用Matlab读入并显示图片文件

MATLAB 支持的图形图象格式很全面的,其自带的图片文件存储位置为
MATLAB 安装文件夹下的toolbox\images\imdemos.
使用imread()函数来读取图片:
比如你要读的图片在D:\PIC,叫photo.jpg
则应输入输入:A=imread('d:\pic\photo.jpg'); imshow(A);
也可以先把图片保存到work 目录中。Matlab 安装时一般默认位于
C:\Documents and Settings\Administrator\My Documents\MATLAB
此时可以直接输入:A=imread('photo.jpg'); imshow(A);
以下几行代码,可以实现多图片文件的读入:
%%%%%%%%%%%%%%%%%%%%%%%
all_ccdfile=char('LENA616.bmp', 'LENA617.bmp'); %可以在这这里继
续添加你的文件名字,这里比较耗时
tmp=size(all_ccdfile);
file_num=tmp(1); %%%file_num:文件的个数
for i=1:file_num
ccdfile=deblank(all_ccdfile(i,:));
ii=imread(ccdfile); %%%%%%读入图片%%%处理end%%%%%%%%%%%%%%%%%%%%%%%%%%
利用以上代码可以实现对几百幅图像一次处理,让电脑慢慢算,自己回
家睡觉去了!

‘叁’ 如何用MATLAB打开以及处理图片

1、先打开软件后,找到左上角按钮,点击即可用m编辑器,写入代码,可以每写完一部分,执行一下,查看效果。

‘肆’ matlab imread 怎么一次读取多张图片用循环的方法

fileform
=
'图片路径*.bmp';
filepathsrc
=
'图片路径';
file
=
dir(fileform);
for
i
=
1:length(file)
myimg[i]
=
imread([filepathsrc,
file(i).name]);
end
图片路径替换成自己的图片路径,记得在最后加一个斜线

‘伍’ 怎样用matlab读取一个文件夹下的多个子文件夹中的多个jpg图片,急用啊~~~

这样:

imgPath = 'E:/imageData/'; % 图像库路径

imgDir = dir([imgPath '*.jpg']); % 遍历所有jpg格式文件

for i = 1:length(imgDir) % 遍历结构体就可以一一处理图片了

img = imread([imgPath imgDir(i).name]); %读取每张图片

end

(5)matlab怎样读取图片文件扩展阅读:

注意事项

imgDir返回的是一个结构体,包含每个图片name(名称),date(日期),bytes(字节数),isdir(是否为文件夹/目录),datenum(修改日期,连续日期号码)。一般我们仅需使用图片名称就可以完成图片遍历的工作

需要先遍历所有子文件夹,然后依次再遍历每个子文件夹下的图片。程序如下:

imgDataPath = 'E:/imageData/';

imgDataDir = dir(imgDataPath); % 遍历所有文件

for i = 1:length(imgDataDir)

if(isequal(imgDataDir(i).name,'.')||... % 去除系统自带的两个隐文件夹

isequal(imgDataDir(i).name,'..')||...

~imgDataDir(i).isdir) % 去除遍历中不是文件夹的

continue;

end

imgDir = dir([imgDataPath imgDataDir(i).name '/*.jpg']);

for j =1:length(imgDir) % 遍历所有图片

img = imread([imgDataPath imgDataDir(i).name '/' imgDir(j).name]);

end

end

‘陆’ 如何用matlab读取图像文件

通过函数
imread()
来打开的~
调用格式
pic=imread('filename')
不过文件不在matlab的搜索路径中,应补上路径~
具体调用格式见
help
imread

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

1、首先在电脑中打开Matlab,点击”新建脚本“,如下图所示。

‘捌’ MATLAB如何读取图片

把图片放到你的matlab的目录下,或者把matlab的目录定在你要处理的图片所在的目录下。假设图片名是a,在命令窗里输入imread('a.jpg'),jpg是假设的图片格式,就可以读出了。有问题可以再问我哟!

‘玖’ matlab 怎么批量读取图像

MATLAB
并不支持一次读取多幅图像,但是可以通过使用循环语句将同一文件夹下变量名比较有规则的图像文件依次读取。具体写法如下
for
i=1:5
%假设读取5幅图像,且图像文件为1.jpg到5.jpg
str
=
[num2str(i),'.jpg'];
pic{i}
=
imread(str);
end
运行结束后,读取了5幅图像文件,并保存在名为pic的元胞数组中

‘拾’ MATLAB中无法用imread函数读自己的图片。

1、首先在电脑中打开Matlab,点击”新建脚本“。

(10)matlab怎样读取图片文件扩展阅读:

程序示例:

示例一:

下面这段代码读取一张图片并显示出来

filename='e.bmp';

imgRgb=imread(filename);%读入一幅彩色图像

imshow(imgRgb);%显示彩色图像

示例二:

下面这段代码把24位真彩色位图转为灰度图像

filename='e.bmp';

imfinfo(filename)%查看图像文件信息

imgRgb=imread(filename);%读入一幅彩色图像

imshow(imgRgb);%显示彩色图像

imgGray=rgb2gray(imgRgb);%转为灰度图像

figure%打开一个新的窗口显示灰度图像

热点内容
马路上汽车的噪音在多少分贝 发布:2023-08-31 22:08:23 浏览:2167
应孕棒多少钱一盒 发布:2023-08-31 22:08:21 浏览:1634
标准养老金一年能领多少钱 发布:2023-08-31 22:05:05 浏览:1933
湖北通城接网线多少钱一个月 发布:2023-08-31 21:59:51 浏览:2000
开随车吊车多少钱一个月 发布:2023-08-31 21:55:06 浏览:1761
京东付尾款怎么知道前多少名 发布:2023-08-31 21:52:58 浏览:2084
在学校租铺面一个月要多少钱 发布:2023-08-31 21:52:09 浏览:2224
2寸有多少厘米 发布:2023-08-31 21:50:34 浏览:1865
知道电压如何算一小时多少电 发布:2023-08-31 21:46:20 浏览:1869
金手镯54号圈周长是多少厘米 发布:2023-08-31 21:44:28 浏览:2009