#!/bin/bash
#
# Tool for noise reduction of image
#
INPFILE=""
OUTFILE=""
INPDIR=""
OUTDIR=""
if [ -d $HOME/tmp ]; then
TMPFILE=$HOME/tmp/imgnr_tmp_#$$$$.png
else
TMPFILE=/tmp/imgnr_tmp_#$$$$.png
fi
if [ ! -x /usr/bin/convert ]; then
echo "Cannot found convert for the process"
echo
exit 1
fi
if [ $# -eq 2 ]; then
INPFILE=$1
OUTFILE=$2
if [ -f $INPFILE ]; then
rm -f $TMPFILE > /dev/null 2>&1
echo "Processing image: "$INPFILE" ..."
nice -n 19 convert $INPFILE -resize 200% -quality 100 $TMPFILE
if [ -f $TMPFILE ]; then
nice -n 19 convert $TMPFILE -noise 2 -quality 100 $TMPFILE
nice -n 19 convert $TMPFILE -resize 50% -quality 100 $OUTFILE
fi
rm -f $TMPFILE > /dev/null 2>&1
echo "DONE"
else
echo "Cannot found "$INPFILE
echo
exit 1
fi
elif [ $# -eq 3 ]; then
MODE=$1
INPDIR=$2
OUTDIR=$3
if [ "$MODE" == "-b" ]; then
if [ -d $INPDIR ]; then
if [ ! -d $OUTDIR ]; then
mkdir -p $OUTDIR
fi
if [ -d $OUTDIR ]; then
IMG_DIR=`ls $INPDIR 2> /dev/null`
for INPF in $IMG_DIR ; do
rm -f $TMPFILE > /dev/null 2>&1
INPFILE=$INPDIR"/"$INPF
OUTFILE=$OUTDIR"/"$INPF
echo "Processing image: "$INPFILE" ..."
nice -n 19 convert $INPFILE -resize 200% -quality 100 $TMPFILE
if [ -f $TMPFILE ]; then
nice -n 19 convert $TMPFILE -noise 2 -quality 100 $TMPFILE
nice -n 19 convert $TMPFILE -resize 50% -quality 100 $OUTFILE
fi
done
rm -f $TMPFILE > /dev/null 2>&1
echo "DONE"
else
echo "Cannot found "$OUTDIR
echo
exit 1
fi
else
echo "Cannot found "$INPDIR
echo
exit 1
fi
else
echo "A tool for noise reduction of image"
echo
echo "Usage: imgnr [-b] {input file} {output file}"
echo
echo " -b : batch mode"
echo
exit 1
fi
else
echo "A tool for noise reduction of image"
echo
echo "Usage: imgnr [-b] {input file} {output file}"
echo
echo " -b : batch mode"
echo
exit 1
fi
2007年3月21日星期三
用來做 noise reduction 的shell script
訂閱:
發佈留言 (Atom)
沒有留言:
發佈留言