при ближайшем рассмотрении можно увидеть много "шумов". читать можно но...
в программе GIMP я помотрел, можно ли что-нибудь улучшить, используя изменения кривых цвета. затем на ресурсе скриптов для ImageMagick я нашел подходящий скрипт curves.
Transformation Graph (curve with points drawn)
Подбирая две точки, нашел лучше всего подходящие параметры:
./curves -s 100,100 "25,25 75,95" test.jpg test_out.jpg
результат приведён ниже:
после этого, как и ранее, я применил скрипт для циклической обработки всех изображений книги:
#!/bin/bash
# loop_for_fotos.sh
#
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
#проверяем, установлен ли convert
convert > /dev/null
if [ $? -ne 0 ] ; then
echo "Error: convert is needed, it's a part of ImageMagick" ;
fi;
DIR=$1;
# велосипед, убирающий "/" в конце
if [ -z $1 ]; then $DIR=`pwd`;
else
TEMP=`pwd`;
cd $DIR; TEMP2=`pwd`;
cd $TEMP;
DIR=$TEMP2;
echo $TEMP2;
fi;
#наши старые файлы копируем в DIR.orig
echo $DIR
mkdir $DIR/orig;
cp *.jpg $DIR/orig/
ERR=0;
CPUS=1;
echo "Start in " $DIR
files=$(ls $DIR/*.jpg)
list=($files)
len=${#list[@]}
echo $len
CPUS=2;
echo "Start curve transformation"
for(( i=0; i<$len ; i=i+$CPUS))
do
for(( j=0; j<$CPUS ; j++))
do
if [ ${list[i+j]} ]; then
#echo ${list[i+j]}
./curves -s 100,100 "25,25 75,95" ${list[i+j]} ${list[i+j]}.new.jpg &
fi
done;
for job in `jobs -p`
do
echo $job
wait $job || let "FAIL+=1"
done;
if [ $? -eq 0 ]; then
echo "curve transformation successfully ;) next step";
else ERR=$[$ERR+1]; #считаем ошибки
fi;
for(( j=0; j<$CPUS ; j++))
do
if [ ${list[i+j]} ]; then
mv ${list[i+j]}.new.jpg ${list[i+j]}
fi
done;
done;
if [ $ERR -eq 0 ]; then
echo "Job done!";
else echo "Job done with some errors.";
fi;
echo "You can find your old files in $DIR.orig"
IFS=$SAVEIFS
#end
попытки обрабатывать пробелы в именах файлов при помощи
SAVEIFS=$IFS
IFS=$(echo -en "\n\b")
...
IFS=$SAVEIFS
к успеху не привели, т.к. либо в скрипте curves, либо в самой конвертирующей программе выдаёт ошибку convert: unable to open image... более подробно не выяснял.
точки кривых всегда нужно выяснять экспериментальным путём, в зависимости от качества скана.
автор публикации - Карбофос.
Комментариев нет:
Отправить комментарий