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