【发布时间】:2016-10-25 00:59:10
【问题描述】:
我想用 MATLAB 计算图像质量指标 VIF。因此我下载了vifp_mscale.m。现在我可以使用函数vif = vifvec(img1, img2)。但是我有两个目录(包括子目录),其中有一堆图像。如何循环浏览这些文件夹并正确比较图像?
【问题讨论】:
标签: image matlab loops directory
我想用 MATLAB 计算图像质量指标 VIF。因此我下载了vifp_mscale.m。现在我可以使用函数vif = vifvec(img1, img2)。但是我有两个目录(包括子目录),其中有一堆图像。如何循环浏览这些文件夹并正确比较图像?
【问题讨论】:
标签: image matlab loops directory
使用dir:
ImageFolder1 = dir([pwd '/subfolder1/*.png']) % Or whatever file extension
ImageFolder2 = dir([pwd '/subfolder2/*.png'])
现在您可以遍历结构 ImageFolder1 和 ImageFolder2 的内容。
【讨论】:
ImageFolder 中包含的所有内容,但您仍然必须将每个图像加载到您的工作区中。不过,我不会为您详细说明所有内容,因为您还没有提供自己的代码尝试。
vifp_mscale; ImageFolder1 = dir([pwd 'path_to_directory\*.png']); ImageFolder2 = dir([pwd 'path_to_directory\*.png']); for k = 1:length(ImageFolder1) img1 = load(ImageFolder1(k).name); img2 = load(ImageFolder2(k).name); vif = vifvec(img1, img2); end 对吗?
load([pwd ImageFolder2(k).name]),因为我不确定load 是否可以在不指定完整路径的情况下在子文件夹中找到文件。我认为您尝试了代码并且已经知道它是否有效?