Мне нужно выполнить следующую команду 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