From 6dda6cac8c9e46cd9a234bab5cd64f0d6c1c3b2c Mon Sep 17 00:00:00 2001 From: niepra01 <rolf.niepraschk@ptb.de> Date: Fri, 7 Apr 2017 14:04:46 +0200 Subject: [PATCH] Code vereinfacht; mehr Variationen --- UNKNOWN/createImages | 77 +++++++++++++++++++++----------------------- 1 file changed, 37 insertions(+), 40 deletions(-) diff --git a/UNKNOWN/createImages b/UNKNOWN/createImages index 84d03de..82737a9 100755 --- a/UNKNOWN/createImages +++ b/UNKNOWN/createImages @@ -1,9 +1,9 @@ #!/bin/bash # -# Rolf Niepraschk <Rolf.Niepraschk@ptb.de>, 2017-04-03 +# Rolf Niepraschk <Rolf.Niepraschk@ptb.de>, 2017-04-07 # # 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,22 +15,26 @@ MAX_DIGITS=3 # 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 if (( $NUMBER_OF_DIGITS > $MAX_DIGITS )); then NUMBER_OF_DIGITS=$MAX_DIGITS -fi -if (( $NUMBER_OF_DIGITS < 1 )); then - NUMBER_OF_DIGITS=1 -fi +else + if (( $NUMBER_OF_DIGITS < 1 )); then + NUMBER_OF_DIGITS=1 + fi +fi rm -rf "$IMAGE_DIR" -mkdir -p "$IMAGE_DIR" +mkdir -p "$IMAGE_DIR" dotFile='dot.png' minusFile='minus.png' @@ -46,8 +50,7 @@ digitFile[6]='digit-6.png' digitFile[7]='digit-7.png' digitFile[8]='digit-8.png' digitFile[9]='digit-9.png' -digitFile[E]='digit-E.png' -digitFile[99]=$emptyCanvas # empty canvas +digitFile[10]='digit-E.png' digitPos[1]='+273+190' digitPos[2]='+319+190' @@ -71,54 +74,48 @@ NUM2CHAR[10]='E' for ((FNb=1; FNb<=MAX_FILES; FNb++)); do -DPR=$((RANDOM % $NUMBER_OF_DIGITS + 1)) # random dot position (1..$NUMBER_OF_DIGITS) -for (( i=1; i<=$MAX_DIGITS; i++ )); do - DNR[$i]=${NUM2CHAR[$((RANDOM % 10 + 1))]} # random digit number (0..10) - if [ $DPR == $i ]; then - dotFile[$i]="$dotFile" - DOT[$i]="." # dot character - else - dotFile[$i]=$emptyCanvas - DOT[$i]="" - fi -done - value="" -for (( i=1; i<=$MAX_DIGITS; i++ )); do +DPR=$((RANDOM % $NUMBER_OF_DIGITS + 1)) # random dot position (1..$NUMBER_OF_DIGITS) +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'..'E') + 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 \ - $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 \ + $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 \ $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 -- GitLab