www.5129.net > mAtlAB imrEAD 怎么一次读取多张图片?用循环的方法

mAtlAB imrEAD 怎么一次读取多张图片?用循环的方法

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

不管我的回答对不对,我都不要分,挣点分怪辛苦的1)你多读几次不就行了,反正也不麻烦.im1=imread('1.jpg');im2=imread('2.jpg');..2)如果图片太多,图片名有规律就用循环吧for i=1:100 im(:,:,:,1)=imread(strcat(num2str(i),'.jpg'));end你的具体情况我不是很清楚,有问题再讨论

呵呵,今年的建模大赛是这个?很多人问这问题啊用for循环遍一个循环语句,你肯定知道要导入多少图片,假设为n,然后把图片名字命名i.

把a.m文件直接放在附件1文件夹里直接运行 imname = dir('.\*.bmp');%读入文件夹下的全部图像 im_num = length(imname);% 文件夹中图像的个数 im_temp = imread(imname(1).name,'bmp');%读入第一幅图像 [height,width] = size(im_temp);

m文件直接放在附件1文件夹里直接运行 imname = dir('.\*.bmp');%读入文件夹下的全部图像 im_num = length(imname);% 文件夹中图像的个数 im_temp = imread(imname(1).name,'bmp');%读入第一幅图像 [height,width] = size(im_temp);%得到图像的尺寸 DB(:,:,a) = zeros(height,width,im_num,'uint8');% 读入全部图像 for a = 1:length(imname)

>>I=cell(11,19);>>d=0;>> b='C:\Users\dell\Desktop\cumcm2013problems\B\附件3\00';>> e='.bmp';>> for n=0:9 m=int2str(d); s=strcat(b,m,e); r_pic=imread(s); %存当前图片的变量 I{d}=im2bw(r_pic); d=d+1; end

看下eval函数

你不是已经写出来了吗?把你的照片的完整路径写到imread的第一个参数里,然后用imshow( I )可以显示这张照片.

如果你读的是RGB图,改成raw(:,:,:,i)=imread(filename);就可以了如果你读的是灰度图,raw(:,:,i)=imread(filename);这个就可以

有可能是matlab不识别你的路径中的中文.你可以在E盘下新建一个文件夹 road,把照片拷到这个文件夹里;然后添加路径,addpath('E:\road\);然后就可以c=imread('E:\road\P5140106.yue.tif');

网站地图

All rights reserved Powered by www.5129.net

copyright ©right 2010-2021。
www.5129.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com