我需要执行下一个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] 删除。
我来说两句