如何从matlab中的指定文件夹中读取图像

时间:2015-03-10 07:51:00

标签: image matlab image-processing

myPath= 'C:\Users\Prienka\Documents\MATLAB\frames'; 
a =dir(fullfile(myPath,'*.png'));
a(1).name
a(end).name
Im1 = imread(a(1).name);
Im2 = imread(a(end).name);
Im1 = rgb2gray(Im1);
Im2 = rgb2gray(Im2);
hn1 = imhist(Im1)./numel(Im1); %initial pixel postion
hn2 = imhist(Im2)./numel(Im2); %final pixel position
d = sum(sqrt(hn2-hn1).^2); 
d=sprintf('%.0f',d);
obj = VideoReader('traffic.mp4')
x=obj.FrameRate
velocity=d/x;
velocity=sprintf('%.0f',velocity)
if velocity >= 63
    msgbox('SPEED EXCEEDED' ) 
end

这是我在vedio中计算车辆速度的代码...问题是我已经在一个名为“frames”的不同文件夹中提取了所有电影帧...这里每当我试图运行代码时显示这样的错误 “使用imread时出错(第350行) 文件“001.png”不存在。

pikz出错(第5行) Im1 = imread(a(1).name);“ 我的文件名是pikz.m

1 个答案:

答案 0 :(得分:0)

在您当前的工作目录(pwd)中,该文件不存在。 Dir只返回'001.png'之类的相对路径。您必须使用fullfile获取'C:\Users\Prienka\Documents\MATLAB\frames\001.png'之类的绝对路径才能将其传递给imread