matlab同时读入多张图片的方法?各位大侠,拜托了!

E:\ 水煤浆 这个是我的图片所在文件夹,共有100张bmp格式图片,怎样用matlab一次性读入,然后进行灰度变换?

什么都不用改,直接运行
dir_name=dir('E:\水煤浆\*.bmp');
for i=1:100
file_name=strcat('E:\水煤浆\',dir_name(i).name);
load(file_name);
end追问

>> dir_name=dir(E:\2011.6.30 水煤浆\MC 250之2500 4煤浆 1.0_高度1\*.bmp');
for i=1:100
file_name=strcat('E:\2011.6.30 水煤浆\MC 250之2500 4煤浆 1.0_高度1\',dir_name(i).name);
load(file_name);
end
??? dir_name=dir(E:\2011.6.30 水煤浆\MC 250之2500 4煤浆 1.0_高度1\*.bmp');
|
Error: Unexpected MATLAB operator.
怎么回事?

追答

dir_name=dir('E:\2011.6.30 水煤浆\MC 250之2500 4煤浆 1.0_高度1\*.bmp');
for i=1:100
file_name=strcat('E:\2011.6.30 水煤浆\MC 250之2500 4煤浆 1.0_高度1\',dir_name(i).name);
load(file_name);
end
dir函数的括号里少了一个单引号

追问

??? Error using ==> load
Unknown text on line number 1 of ASCII file E:\2011.6.30 水煤浆\MC 250之2500 4煤浆 1.0_高度1\1.bmp
"BMBe".
是不是bmp文件不能直接读的原因啊?

追答

可能是,jpg格式的可以读入,你试试用imread(file_name)试试。如果需要,把变量类型从uint8转化成double型

追问

dir_name=dir('E:\matlab study\*.jpeg');
for i=1:4
file_name=strcat('E:\matlab study\',dir_name(i).name);
load(file_name);
end
??? Index exceeds matrix dimensions.
这又是怎么回事啊?

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-03-10
A=cell(1,100);
for i=1:100
A{i}=imread(['E:\ 水煤浆\',num2str(i),'.bmp']);
end

%此即读入1.bmp,2.bmp...100.bmp追问

??? Error using ==> imread at 357
Can't open file "E:\ 水煤浆\" for reading;
you may not have read permission.
怎么回事啊?bmp文件应该是不能直接读取的吧?

第2个回答  2012-03-09
仿照这样来读:
path = 'E:\Tools'; % 目录名
Allfiles = dir( path );

FileCount = length( Allfiles );

for i = 1 : FileCount
if( Allfiles( i ).isdir == 0 ) % 如果为1是文件夹,0是文件
tempfile = fullfile( path, Allfiles( i ).name );
tempimage = imread( tempfile );
% 对图像进行的操作
end
end追问

前面的如上,显示图像时出现下边情况
>> imshow(tempimage)
??? Undefined function or variable 'tempimage'.
这是怎么回事啊?为什么图像没显示出来啊?本人菜鸟一个,见谅!

第3个回答  2012-03-09
最笨的方法是给100个图片标识成1.jpg,……,100.jpg然后用循环进行读入!
还有种相对聪明写的方法是对整个目录进行检索,然后逐个读入!
我的腾讯联系方式,散坝而要龄要伞流午

matlab imread 怎么一次读取多张图片啊?
matlab的Imread不可以一次读取多张图片,因为每一张图片都是以矩阵的形式读入matlab的。每一张图片都需要用一个变量来保存。如果想批量读取图片可以使用循环设置变量,并导入,使用eval()执行。

matlab中,我想把一个文件夹里的所有图片都读入,如何做
这是读取两层文件夹里图片的示例。clc;clear;fatherPath=['C:\\Users\\chen\\Desktop\\人脸识别\\faces'];dirs=dir(fatherPath);dircell=struct2cell(dirs);for i=3:length(dircell) subdirs=dircell(1,i); SonPath=[fatherPath '\\' cell2mat(subdirs)]; %SonPath=[fatherPath '\\' cell...

请教大神,如何在MATLAB中用imshow合并两张或者多张图片?
把a.m文件直接放在附件1文件夹里直接运行,这是批量读入图像从matlab论坛找的,调试通过

如何在matlab命令窗口读入图片
读入图片是:imread('文件名'),显示图片是image()如:a=imread(picture.jpg)iimage(a)

如何在matlab读入PGM格式的图片
也可以先把图片保存到work目录中。Matlab安装时一般默认位于C:\\Documents and Settings\\Administrator\\My Documents\\MATLAB此时可以直接输入:A=imread('photo.jpg'); imshow(A);以下几行代码,可以实现多图片文件的读入:%%%%%%%%%%%%%%%%%%%%%%%all_ccdfile=char('LENA616.bmp', 'LENA617.bmp'...

matlab 如何依次读入当前目录下的名称不一致的图片
Path='d:';Ext='*.jpg';%设置路径与扩展名 FileList=dir([PathExt]);%获得文件信息结构数组 ListSize=size(FileList);%取得结构数组的大小 fork=1:ListSize(1)FileName=FileList(k).name;%依次取出文件名 p=imread([PathFileName]);%调入文件 图片处理 end ...

matlab读入两张RGB图像,如何实现平移使两张图片重叠
1=round(i*cos(a) - j*sin(a)+ n * sin(a))+1;j1=round(i*sin(a) + j*cos(a));这两个时会出现零值,那么,在MATLAB中索引F矩阵就是错误的了,你可以设置断点,然后单步运行一下看看在哪一步出现的零值,你根据旋转矩阵的计算应该是没有问题的,关键是灰度映射时可能出现零位置,最...

为什么matlab图片都无法读入
matlab读入图片用函数imread。例如i=iimread('lena.bmp'),这是lena是在work文件夹里面。不在该文件夹的需要输入路径。i=imread('D:\\my document\\photoes\\a.jpg').注意图片的格式要对,jpeg的输入jpg就行

在拼接很多碎纸片,利用matlab读入图片得到矩阵后,进行拼接时出现了矩...
貌似你们都在搞数模啊,MATLAB加约束条件我不是很懂,但是我用C++搞了一些程序,可以对图像进行拼接,应该会对你们有帮助!望采纳!

java 如何将多张JPG图片合成视频文件,比如:avi格式 或 mpg格式._百度...
使用JavaCV的jpgToMp4方法,代码如下:public static void jpgToMp4(String mp4SavePath, String imageDir, double rate) { FFmpegFrameRecorder recorder = null;try{ File[] files = FileUtils.fileSort(imageDir);BufferedImage bufferedImage = ImageIO.read(files[0]);int width = bufferedImage....

相似回答