1
読んでいただきありがとうございます。私はImageMagickを比較するために書いたスクリプトにパフォーマンス上の問題があります。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の比較を開始すると、ハングするように見えます(CPUは799%にジャンプします)。どんな提案も大歓迎です!
乾杯!
EDIT:ImageMagickが複数のページを持つTIFFでスタックしていました。
PSNR=`compare -quiet -metric psnr $line[0] $J2K null: 2>&1 | cut -d . -f 1`
に次の
PSNR=`compare -quiet -metric psnr $line $J2K null: 2>&1 | cut -d . -f 1`
を変更すると、わずかに多くの機能スクリプトへの道であると思われます。
手動でコマンドを実行して、スクリプトがハングしている場所を確認します。 ImageMagickは、JPX圧縮でイメージを圧縮しようとすると自分のコンピュータをフリーズするので、バグかもしれません。 – Blender
ImageMagickが複数のページを持つTIFFで動かなくなっていたことが判明したので、@Blenderに感謝します。 23行の '$ line'を' $ line [0] 'に変更すると、私はもう少し近くなります。乾杯! – CanOfBees