您的位置:首页 > 编程语言 > MATLAB

matlab连续读取多幅图像

2016-06-22 10:58 267 查看
其实之前用过,但是一直记不住,每次都是现查现用,今天又用到了所以直接把原文拷贝过来吧,以后直接翻自己的博客就能找到,方便自己。转载自:

http://www.ilovematlab.cn/thread-116802-1-1.html

基本上有两个方法:一个是将你的图像统一进行一次重命名如:1.jpg,2.jpg等,然后利用for循环依次进行处理即可,如下面的语句:假设你的图像共有20副:
str='D:\做差\好的图像\'; %我的图像放在D盘,做差文件夹下,好的图像文件夹下
for i=1:20
    I=imread([str,num2str(i),'.bmp']); %依次读取每一幅图像
%在此处进行你的图像处理即可
end
方法二:
将图像统一方法一个文件夹下,不需要统一进行重命名了,利用uigetdir函数得到你所处理图像的路径,然后对此路径下的所有图像进行处理,举例如下:我只处理bmp文件
srcDir=uigetdir('Choose source directory.'); %获得选择的文件夹
cd(srcDir);
allnames=struct2cell(dir('*.bmp')); %只处理8位的bmp文件
[k,len]=size(allnames); %获得bmp文件的个数
for ii=1:len
%逐次取出文件
name=allnames{1,ii};
  I=imread(name); %读取文件
%然后在此处添加你的图像处理程序即可
end
希望对你有所帮助……
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: