2016-09-03 13:21:27 +02:00
|
|
|
#! /bin/bash
|
|
|
|
|
|
|
|
INPUT=$1
|
2016-09-03 17:10:43 +02:00
|
|
|
OUTPUT=$2
|
|
|
|
export OW=$3
|
|
|
|
export OH=$4
|
|
|
|
W=$5
|
2016-09-03 13:21:27 +02:00
|
|
|
if [ "$OW" == "" ]; then OW=0; fi
|
|
|
|
if [ "$OH" == "" ]; then OH=0; fi
|
|
|
|
|
2016-09-03 17:10:43 +02:00
|
|
|
#initial conversion
|
|
|
|
convert-im6 -resize $W $INPUT txt:- | awk -v ow=$OW -v oh=$OH 'match($0, /^(.*),(.*):.*#(.{6})/, arr ){ print "PX " arr[1]+ow " " arr[2]+oh " " arr[3] }' > $OUTPUT
|
|
|
|
|
|
|
|
echo optimizing >&2
|
|
|
|
|
|
|
|
# edge detection
|
|
|
|
#convert-im6 -resize $W $INPUT -negate -edge 6 -negate txt:- | awk -v ow=$OW -v oh=$OH 'match($0, /^(.*),(.*):.*#000000/, arr ){ print "PX " arr[1]+ow " " arr[2]+oh " " }' > /tmp/px6_optimize
|
|
|
|
convert-im6 -resize $W $INPUT -edge 6 -negate txt:- | awk -v ow=$OW -v oh=$OH 'match($0, /^(.*),(.*):.*#000000/, arr ){ print "PX " arr[1]+ow " " arr[2]+oh " " }' > /tmp/px6_optimize
|
|
|
|
grep -Ff /tmp/px6_optimize $OUTPUT > ${OUTPUT}.tmp
|
|
|
|
grep -Ff /tmp/px6_optimize $OUTPUT >> ${OUTPUT}.tmp
|
|
|
|
grep -Ff /tmp/px6_optimize $OUTPUT >> ${OUTPUT}.tmp
|
|
|
|
grep -Ff /tmp/px6_optimize $OUTPUT >> ${OUTPUT}.tmp
|
|
|
|
cat ${OUTPUT}.tmp >> $OUTPUT
|
|
|
|
cat $OUTPUT | shuf > ${OUTPUT}.tmp
|
|
|
|
mv ${OUTPUT}.tmp $OUTPUT
|
|
|
|
rm /tmp/px6_optimize
|
|
|
|
|