diff --git a/F250/createImages b/F250/createImages index e3e4e46455c7720411b562eeb26e30795ae265d2..20f26b288955bbb813cd2581b451e1a8e258bfd7 100755 --- a/F250/createImages +++ b/F250/createImages @@ -1,9 +1,9 @@ #!/bin/bash # -# Rolf Niepraschk <Rolf.Niepraschk@ptb.de>, 2017-03-31 +# Rolf Niepraschk <Rolf.Niepraschk@ptb.de>, 2017-04-06 # # Erzeugt aus einem leeren Messgeräte-Bild und neun 7-Segment-Bildern -# neue Messgeräte-Bilder mit zufälliger Anzeige +# neue Messgeräte-Bilder # # Parameter1 = Anzahl der erzeugten Bilddateien # @@ -15,9 +15,12 @@ MAX_DIGITS=5 # do not edit! MAX_FILES=10 # do not edit! NUMBER_OF_DIGITS=$MAX_DIGITS +SHOW_EXP=true + if [ -n "$1" ]; then MAX_FILES=$1 if [ -n "$2" ]; then + SHOW_EXP=false NUMBER_OF_DIGITS=$2 fi fi @@ -28,7 +31,7 @@ else if (( $NUMBER_OF_DIGITS < 1 )); then NUMBER_OF_DIGITS=1 fi -fi +fi rm -rf "$IMAGE_DIR" mkdir -p "$IMAGE_DIR" @@ -45,12 +48,23 @@ digitFile[6]='digit-6.png' digitFile[7]='digit-7.png' digitFile[8]='digit-8.png' digitFile[9]='digit-9.png' -digitFile[99]=$emptyCanvas # empty canvas +digitFile[10]='minus.png' dotFile='dot.png' -minusFile='minus.png' +minusFile='minus.png' + -signPos='+156+198' +NUM2CHAR[0]='0' +NUM2CHAR[1]='1' +NUM2CHAR[2]='2' +NUM2CHAR[3]='3' +NUM2CHAR[4]='4' +NUM2CHAR[5]='5' +NUM2CHAR[6]='6' +NUM2CHAR[7]='7' +NUM2CHAR[8]='8' +NUM2CHAR[9]='9' +NUM2CHAR[10]='-' digitPos[1]='+197+198' digitPos[2]='+238+198' @@ -66,70 +80,52 @@ dotPos[5]=${digitPos[5]} for ((FNb=1; FNb<=MAX_FILES; FNb++)); do -i=$((RANDOM % 2)) # random (0|1=''|-) -if [ $i == 0 ]; then - signFile=$emptyCanvas - SIGN='' -else - signFile=$minusFile - SIGN='-' -fi - +value="" DPR=$((RANDOM % $NUMBER_OF_DIGITS + 1)) # random dot position (1..$NUMBER_OF_DIGITS) -for (( i=1; i<=$MAX_DIGITS; i++ )); do - DNR[$i]=$((RANDOM % 10)) # random digit number (0..9) - if [ $DPR == $i ]; then - dotFile[$i]="$dotFile" - DOT[$i]="." # dot character - else - dotFile[$i]=$emptyCanvas - DOT[$i]="" - fi -done - -value="$SIGN" - -for (( i=1; i<=$MAX_DIGITS; i++ )); do +for (( i=1; i<=$MAX_DIGITS; i++ )); do if (( $i <= $NUMBER_OF_DIGITS )); then - eval DIGIT$i=${digitFile[ ${DNR[i]} ]} - eval DF$i=${dotFile[i]} - value+="${DNR[i]}${DOT[i]}" + R=$((RANDOM % 11)) # random digit number (0..10 = '0'..'-') + eval DIGIT$i=${digitFile[R]} + value+="${NUM2CHAR[R]}" + if [ $DPR == $i ]; then + eval DOT$i="$dotFile" + value+="." + else + eval DOT$i=$emptyCanvas; + fi else eval DIGIT$i=$emptyCanvas; - eval DF$i=$emptyCanvas; + eval DOT$i=$emptyCanvas; fi done +fname="$IMAGE_DIR/$MAIN@$value@.png" -fname="$IMAGE_DIR/$MAIN@$value@.png" +echo -e "$FNb:\t$fname" convert body.png \ - ${signFile} -geometry ${signPos} -composite \ - $DIGIT1 -geometry ${digitPos[1]} -composite \ - $DF1 -geometry ${dotPos[1]} -composite \ - $DIGIT2 -geometry ${digitPos[2]} -composite \ - $DF2 -geometry ${dotPos[2]} -composite \ - $DIGIT3 -geometry ${digitPos[3]} -composite \ - $DF3 -geometry ${dotPos[3]} -composite \ - $DIGIT4 -geometry ${digitPos[4]} -composite \ - $DF4 -geometry ${dotPos[4]} -composite \ - $DIGIT5 -geometry ${digitPos[5]} -composite \ - $DF5 -geometry ${dotPos[5]} -composite \ + $DIGIT1 -geometry ${digitPos[1]} -composite \ + $DOT1 -geometry ${dotPos[1]} -composite \ + $DIGIT2 -geometry ${digitPos[2]} -composite \ + $DOT2 -geometry ${dotPos[2]} -composite \ + $DIGIT3 -geometry ${digitPos[3]} -composite \ + $DOT3 -geometry ${dotPos[3]} -composite \ + $DIGIT4 -geometry ${digitPos[4]} -composite \ + $DOT4 -geometry ${dotPos[4]} -composite \ + $DIGIT5 -geometry ${digitPos[5]} -composite \ + $DOT5 -geometry ${dotPos[5]} -composite \ $fname - + exiv2 -M"set Exif.Image.ImageDescription value=$value" $fname -echo -e "$FNb:\t$fname" - done # MAX_FILES exit - + ----------------------------------------------------------------------- Auslesen der Exif-Daten: -exiv2 -g Exif.Image.ImageDescription -P v ./images/151.108@GERAET_X.png ---> value=151.108 +exiv2 -g Exif.Image.ImageDescription -P v ./images/ADIXEN@???@.png +--> value=??? -exit