将图像差异输出到文本文件

时间:2018-09-10 14:05:20

标签: bash imagemagick

我正在尝试将几组图像与参考集进行比较。当我一直在玩弄Imagemagick的RMSE指标时,我很乐意看到其他解决方案。假设我有5张图片的文件夹A。这五个相同的图像(稍作更改)存在于文件夹B,C,D和E中。我要做的是将B中的文件与A,C和A进行比较,等等,然后将结果输出到我以后可以在电子表格中使用。这是我目前的解决方案,但不是很漂亮,仅输出到命令行,只能将一个文件夹与参考进行比较,并且对于数千张图像都不实用。

/usr/lib/gcc/x86_64-redhat-linux/4.8.2/libstdc++.so
/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libstdc++.so
/usr/lib64/libstdc++.so.6
/usr/lib64/libstdc++.so.6.0.19
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.py
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyc
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyo

输出为#!/bin/bash folder1=A folder2=B cd "$folder1" shopt -s nullglob for f in *.png; do file1="$f" file2="$folder2/$f" compare -metric RMSE "$file1" "$file2" NULL: done 。我将对这个问题有任何帮助!

1 个答案:

答案 0 :(得分:2)

在运行此目录之前,将工作目录更改为包含A,B,C,D和E的目录

for folder in B C D E; do
    for image in A/*.png; do
        compare -metric RMSE "$image" "$folder/${image##*/}" NULL:
    done &> "${folder,}.txt"
done