Shell - 对目录中的所有文件执行 imagemagic 并存储结果

阿纳托利·亚基姆丘克

我需要执行下一个imagemagick命令

convert some_image.jpeg logo: -fuzz 0% -negate -threshold 0 -negate -format "%[fx:100*mean]" info:

对于jpeg某个目录中的所有图像。上面的命令将返回百分比数字(如 95.922983.4128)。我需要将该数字与某个阈值(比如 98%)进行比较,如果百分比大于阈值 - 将文件移动到另一个目录。

目前我所拥有的是:

for filename in /writeData/TAX1040/*.jpeg; do
    white=$(convert $(filename) logo: -fuzz 0% -negate -threshold 0 -negate -format "%[fx:100*mean]")
    echo -n "$white"
done

我有一个missing an image filename错误。

感谢@oliv,我有一个工作脚本:

#!/usr/bin/env bash
mkdir -p /writeData/TAX1040/blank

for filename in /writeData/TAX1040/*.jpeg; do
    white=`convert $filename logo: -fuzz 0% -negate -threshold 0 -negate -format "%[fx:100*mean]" info:`

    p=${white:0:2}

    if [ "$p" -ge 98 ]; then
        echo "Percentage of white in file $filename is $p"
        echo "Moving file $filename to blank directory"
        mv "$filename" /writeData/TAX1040/blank
    fi
done
橄榄

该文件必须用于"$filename"而不是$(filename)实际执行命令filename(这可能会失败)。

假设您的convert命令行是正确的,您可以像这样对值执行检查:

threshold=98
for filename in /writeData/TAX1040/*.jpeg; do
  white=$(convert "$filename" logo: -fuzz 0% -negate -threshold 0 -negate -format "%[fx:100*mean]")
  if(( white > threshold )); then
     mv "$filename" /to/another/path
done

请注意,在算术表达式中,((...))您不需要使用$进行扩展。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

比较Python中的矩阵并存储结果

对xts对象列表执行计算并存储结果

Shell /终端:使用目录的绝对路径对目录中的所有文件执行命令

运行不同文件的命令并存储输出结果

在Shell脚本中使用空行空间拆分文件并存储在数组中

将值替换并存储在同一文件中,shell

shell如何对目录中的所有文件应用功能并将结果复制到另一个文件夹中?

从shell脚本的输出中捕获并存储值,同时还显示进度?

Kappa 应用于评分者的所有成对组合,并存储结果

变量执行结果上的shell“无此文件或目录”

具有Cmake的ImageMagic库:链接错误

Floyd Steinberg在GraphicsMagic或ImageMagic中抖动

创建一个python脚本来模拟Matlab文件并存储结果

R中的for循环将迭代一个简单函数并存储结果

如何使用Task.WhenAll为列表中的每个项目运行方法并存储结果?

将循环结果存储在sh的shell变量中

将 Bash 命令的结果存储在 Shell 变量中

如何在shell脚本中基于模式将字符串拆分并存储到数组中

创建子目录并存储文件

处理imagemagic命令的文件名中的空间

如何在所有图像中应用中值滤波器并存储在目录中?

Shell脚本:如何删除目录中除文件中列出的文件以外的所有文件?

如何将执行的shell命令的结果存储在python中的变量中?

拆分并存储在Perl中

Linux Shell:删除目录树中的所有HTML文件,同时保留目录结构

Shell脚本列出文件夹中的所有目录并为每个目录运行命令

Go-使用goroutines执行一次Bash命令n次,并存储并打印其结果

遍历Unix shell脚本中的所有子目录并执行某些操作

如何使用循环使〜/ .bashrc执行〜/ Shell目录中的所有脚本?