Используйте сравнение двух изображений, как если бы условие - PullRequest
0 голосов
/ 08 июня 2018

В моем скрипте bash я хочу сделать что-то вроде следующего:

if  [ compare $image1 $image2 ] = 1; then // if images are graphically equal
rm $image2
fi

Есть идеи?

1 Ответ

0 голосов
/ 08 июня 2018

Вы можете сделать это в ImageMagick следующим образом.Rmse метрика 0 означает идентичность.Сравнение записывает в stderr, поэтому вам нужно добавить 2> & 1.Результат сравнения равен 0 (0), где первый находится в диапазоне от 0 до квантового диапазона, а второй в скобках находится в диапазоне от 0 до 1. Поэтому я использую cut, чтобы получить только первые 0. Выход для сравнения установлен вnull: чтобы сравнение не создавало никакого выходного изображения.Обратите внимание, что после -d \

convert lena.png lena2.png

[ $(compare -metric rmse lena.png lena2.png null: 2>&1 | cut -d\  -f1) -eq 0 ] && rm lena2.png 
есть два пробела
...