matlab处理多张图片

在使用matlab处理很多图片的时候,将路径和名称分开来写,运行的过程中会有问题,如下:

Error using imread (line 347)
Cannot open file "F:\ARNavi video data\frames\raw\" for reading. You might not have read permission.

说是权限问题,这个问题主要是因为将路径和名称分开写了,因为名称需要用来做循环,必须是一个变量才是,所以导致出错了,原来错误代码为:

clear;
directory = 'F:\video data\frames\raw\';
for i = 1:1000
    first = imread(directory, int2str(i), '.bmp');
    imshow(first);
end

使用dir命令可以完美解决这个问题,代码如下:

clear;
srcFiles = dir('F:\video data\frames\raw\*.bmp');
for i = 1:length(srcFiles)
    fileName_1 = strcat('F:\video data\frames\raw\', srcFiles(i).name);
    first = imread(fileName_1);
    imshow(first);
end

具体为什么会出现这个原因,不清楚,可能是matlab自身的缺陷,自身并不支持这样去做。

    原文作者:CCXJTU_NTU
    原文地址: https://www.jianshu.com/p/72643b975c67
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞