From ba77f8143b26587fe2fe55e1e4029fe3967980d8 Mon Sep 17 00:00:00 2001 From: Florian Schlegel Date: Sat, 3 Sep 2016 17:10:43 +0200 Subject: [PATCH] =?UTF-8?q?Optimierungen=20eingef=C3=BCgt=20(Kantenerkennu?= =?UTF-8?q?ng,=20zuf=C3=A4lliges=20zeichnen)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- px6_convert.sh | 25 +++++++++++++++++++++---- px6_send.sh | 1 + 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/px6_convert.sh b/px6_convert.sh index 323f630..7400e38 100755 --- a/px6_convert.sh +++ b/px6_convert.sh @@ -1,10 +1,27 @@ #! /bin/bash INPUT=$1 -export OW=$2 -export OH=$3 -W=$4 +OUTPUT=$2 +export OW=$3 +export OH=$4 +W=$5 if [ "$OW" == "" ]; then OW=0; fi if [ "$OH" == "" ]; then OH=0; fi -convert-im6 -resize $W $INPUT txt:- | awk -v ow=$OW -v oh=$OH -F "[,: #]+" 'BEGIN {} NR>1 { print "PX " $1+ow " " $2+oh " " $7 } END {}' +#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 + diff --git a/px6_send.sh b/px6_send.sh index 2491a73..0b89b7d 100755 --- a/px6_send.sh +++ b/px6_send.sh @@ -27,6 +27,7 @@ for i in $(seq 0 $(($PROCS-1))); do ) >/dev/null 2>&1 done ) & + sleep 1 sleep $(echo "scale=2; $PROCMAXTIME/$PROCS" | bc) done while true; do sleep 9999999; done