From 63dce8829525c43beedf56990b6452c49186eaf3 Mon Sep 17 00:00:00 2001 From: niepra01 <rolf.niepraschk@ptb.de> Date: Fri, 7 Apr 2017 10:56:09 +0200 Subject: [PATCH] Code vereinfacht; mehr Variationen --- FLUKE-8840A/createImages | 132 +++++++++++++++++++-------------------- 1 file changed, 64 insertions(+), 68 deletions(-) diff --git a/FLUKE-8840A/createImages b/FLUKE-8840A/createImages index 75b32b0..d9e19f2 100755 --- a/FLUKE-8840A/createImages +++ b/FLUKE-8840A/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 # @@ -11,19 +11,30 @@ MAIN="FLUKE-8840A" # device name IMAGE_DIR=./images -MAX_DIGITS=6 # do not edit! +MAX_DIGITS=7 # 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 +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' plusFile='plus.png' @@ -40,23 +51,8 @@ digitFile[6]='digit-6.png' digitFile[7]='digit-7.png' digitFile[8]='digit-8.png' digitFile[9]='digit-9.png' -digitFile[99]=$emptyCanvas - -digitPos[1]='+192+173.65' -digitPos[2]='+226+173.65' -digitPos[3]='+260+173.65' -digitPos[4]='+294+173.65' -digitPos[5]='+328+173.65' -digitPos[6]='+362+173.65' - -dotPos[1]=${digitPos[1]} -dotPos[2]=${digitPos[2]} -dotPos[3]=${digitPos[3]} -dotPos[4]=${digitPos[4]} -dotPos[5]=${digitPos[5]} -dotPos[6]=${digitPos[6]} - -signPos='+187+173' +digitFile[10]='minus.png' +digitFile[11]='plus.png' NUM2CHAR[0]='0' NUM2CHAR[1]='1' @@ -68,77 +64,77 @@ NUM2CHAR[6]='6' NUM2CHAR[7]='7' NUM2CHAR[8]='8' NUM2CHAR[9]='9' -NUM2CHAR[99]='' +NUM2CHAR[10]='-' +NUM2CHAR[11]='+' + +digitPos[1]='+158+173.65' +digitPos[2]='+192+173.65' +digitPos[3]='+226+173.65' +digitPos[4]='+260+173.65' +digitPos[5]='+294+173.65' +digitPos[6]='+328+173.65' +digitPos[7]='+362+173.65' +dotPos[1]=${digitPos[1]} +dotPos[2]=${digitPos[2]} +dotPos[3]=${digitPos[3]} +dotPos[4]=${digitPos[4]} +dotPos[5]=${digitPos[5]} +dotPos[6]=${digitPos[6]} +dotPos[7]=${digitPos[7]} for ((FNb=1; FNb<=MAX_FILES; FNb++)); do +value="" DPR=$((RANDOM % $NUMBER_OF_DIGITS + 1)) # random dot position (1..$NUMBER_OF_DIGITS) for (( i=1; i<=$MAX_DIGITS; i++ )); do - if [ $i == 1 ]; then # first digit is "1" combined with "+" or "-" - DNR[$i]=1 - if [ $((RANDOM % 2)) == 1 ]; then # random sign (0|1) - signFile=$minusFile - signChar='-' + if (( $i <= $NUMBER_OF_DIGITS )); then + R=$((RANDOM % 12)) # random digit number (0..11='0'..'+') + eval DIGIT$i=${digitFile[R]} + value+="${NUM2CHAR[R]}" + if [ $DPR == $i ]; then + eval DOT$i="$dotFile" + value+="." else - signFile=$plusFile - signChar='+' + eval DOT$i=$emptyCanvas; fi - else - DNR[$i]=$((RANDOM % 10)) # random digit number (0..9) - fi - if [ $DPR == $i ]; then - DF[$i]="$dotFile" - DP[$i]="." # dot character - else - DF[$i]=$emptyCanvas - DP[$i]="" - fi -done - -value="${signChar}" -for (( i=1; i<=$MAX_DIGITS; i++ )); do - if (( $i <= $NUMBER_OF_DIGITS )); then - eval DIGIT$i=${digitFile[ ${DNR[i]} ]} - eval DOT$i=${DF[i]} - value+="${NUM2CHAR[ ${DNR[i]} ]}${DP[i]}" else eval DIGIT$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 \ - $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 \ - $DIGIT6 -geometry ${digitPos[6]} -composite \ - $DOT6 -geometry ${dotPos[6]} -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 \ + $DIGIT6 -geometry ${digitPos[6]} -composite \ + $DOT6 -geometry ${dotPos[6]} -composite \ + $DIGIT7 -geometry ${digitPos[7]} -composite \ + $DOT7 -geometry ${dotPos[7]} -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/FLUKE-8840A@+3724.05@.png ---> value=151.108 - +exiv2 -g Exif.Image.ImageDescription -P v ./images/ADIXEN@???@.png +--> value=??? -- GitLab