спасибо за чтение.У меня проблемы с производительностью написанного мной сценария, который выполняет сравнение ImageMagick.
Это сценарий:
#!/bin/sh
find */ -name '*.tif' > temp-tif-list.txt
FILE="temp-tif-list.txt"
exec 3<&0
exec 0<$FILE
while read line
do
J2K=`echo "$line" | sed 's/.tif/.jp2/'`
PSNR=`compare -quiet -metric psnr $line $J2K null: 2>&1 | cut -d . -f 1`
VALUE=45
if [ "$PSNR" -le "$VALUE" ]
then
echo "possible problem with $line... compare value is $PSNR" >> visual-check.txt
continue
fi
done
echo "Deleting generated files..."
rm -f temp-tif-list.txt
exec 0<&3
этот сценарий выполняется для структуры каталогов, которая выглядиткак-то так:
foo/
foo-1.tif
foo-1.jp2
foo-2.tif
foo-2.jp2
foo2/
foo2-1.tif
foo2-1.jp2
foo2-2.tif
foo2-2.jp2
...
...
etc
Все идет довольно быстро;как только скрипт запускает сравнение на foo-1.tif и foo-1.jp2, кажется, что он зависает (загрузка процессора увеличивается до 799%).Любые предложения приветствуются!
Приветствия!
РЕДАКТИРОВАТЬ: ImageMagick застрял на TIFF с несколькими страницами.Изменение следующего
PSNR=`compare -quiet -metric psnr $line $J2K null: 2>&1 | cut -d . -f 1`
на
PSNR=`compare -quiet -metric psnr $line[0] $J2K null: 2>&1 | cut -d . -f 1`
, кажется, путь к немного более функциональному сценарию.