diff --git a/IM520/body.png b/IM520/body.png index 0cfda51ea39d8908dec5332de5a227f3d044c66a..48a6bea76b8971556d901eae91b3e7c435f96ef4 100644 Binary files a/IM520/body.png and b/IM520/body.png differ diff --git a/IM520/createImages b/IM520/createImages index 9efaeec3523bf1d3d7b2f61391abdc69a90c28c6..b0cb51e4da6052fa85a582009934ed180c6b8a47 100755 --- a/IM520/createImages +++ b/IM520/createImages @@ -1,29 +1,40 @@ #!/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 # - +# Parameter2 = Anzahl der Einzelziffern MAIN="IM520" # device name IMAGE_DIR=./images -MAX_DIGITS=5 # do not edit! +MAX_DIGITS=6 # 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' minusFile='minus.png' @@ -39,46 +50,88 @@ 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' +digitFile[11]='digit-E.png' + +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]='-' +NUM2CHAR[11]='E' digitPos[1]='+272+160' -digitPos[2]='+296+160' -digitPos[3]='+313+160' -digitPos[4]='+360+160' -digitPos[5]='+375+160' +digitPos[2]='+294+160' +digitPos[3]='+316+160' +digitPos[4]='+338+160' +digitPos[5]='+360+160' +digitPos[6]='+382+160' +digitPos[7]='+404+160' + +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 -for (( i=1; i<=$MAX_DIGITS; i++ )); do - DNR[$i]=$((RANDOM % 10)) # random digit number (0..9) - eval DIGIT$i=${digitFile[ ${DNR[i]} ]} -done +value="" +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 + R=$((RANDOM % 12)) # random digit number (0..11='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 DOT$i=$emptyCanvas; + fi +done + +fname="$IMAGE_DIR/$MAIN@$value@.png" -value="${DNR[1]}.${DNR[2]}${DNR[3]}E-${DNR[4]}${DNR[5]}" - -fname="$IMAGE_DIR/$MAIN@$value@.png" +echo -e "$FNb:\t$fname" convert body.png \ - $DIGIT1 -geometry ${digitPos[1]} -composite \ - $DIGIT2 -geometry ${digitPos[2]} -composite \ - $DIGIT3 -geometry ${digitPos[3]} -composite \ - $DIGIT4 -geometry ${digitPos[4]} -composite \ - $DIGIT5 -geometry ${digitPos[5]} -composite \ + $DIGIT1 -geometry ${digitPos[1]} -composite \ + $DIGIT2 -geometry ${digitPos[2]} -composite \ + $DIGIT3 -geometry ${digitPos[3]} -composite \ + $DIGIT4 -geometry ${digitPos[4]} -composite \ + $DIGIT5 -geometry ${digitPos[5]} -composite \ + $DIGIT6 -geometry ${digitPos[6]} -composite \ + $DOT1 -geometry ${dotPos[1]} -composite \ + $DOT2 -geometry ${dotPos[2]} -composite \ + $DOT3 -geometry ${dotPos[3]} -composite \ + $DOT4 -geometry ${dotPos[4]} -composite \ + $DOT5 -geometry ${dotPos[5]} -composite \ + $DOT6 -geometry ${dotPos[6]} -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 diff --git a/IM520/testImage b/IM520/testImage index 2e1b0c3d55df1c2768996d4cbdda3f3b5dc1689e..be990c9ffc599983ad1cb36445180497c9810831 100755 --- a/IM520/testImage +++ b/IM520/testImage @@ -19,26 +19,53 @@ 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' +digitFile[11]='digit-E.png' -DNR[5]=5 -DNR[4]=4 -DNR[3]=1 -DNR[2]=0 -DNR[1]=8 +DNR[1]=5 +DNR[2]=4 +DNR[3]=11 +DNR[4]=0 +DNR[5]=2 +DNR[6]=8 -digitPos[5]='+272+160' -digitPos[4]='+296+160' -digitPos[3]='+313+160' -digitPos[2]='+360+160' -digitPos[1]='+375+160' +DP[1]=$emptyCanvas +DP[2]=$emptyCanvas +DP[3]=$emptyCanvas +DP[3]=dot.png +DP[4]=$emptyCanvas +DP[5]=$emptyCanvas +DP[6]=$emptyCanvas + +digitPos[1]='+272+160' +digitPos[2]='+294+160' +digitPos[3]='+316+160' +digitPos[4]='+338+160' +digitPos[5]='+360+160' +digitPos[6]='+382+160' +digitPos[7]='+404+160' + +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]} convert body.png \ - ${digitFile[ ${DNR[5]} ]} -geometry ${digitPos[5]} -composite \ - ${digitFile[ ${DNR[4]} ]} -geometry ${digitPos[4]} -composite \ - ${digitFile[ ${DNR[3]} ]} -geometry ${digitPos[3]} -composite \ - ${digitFile[ ${DNR[2]} ]} -geometry ${digitPos[2]} -composite \ ${digitFile[ ${DNR[1]} ]} -geometry ${digitPos[1]} -composite \ + ${digitFile[ ${DNR[2]} ]} -geometry ${digitPos[2]} -composite \ + ${digitFile[ ${DNR[3]} ]} -geometry ${digitPos[3]} -composite \ + ${digitFile[ ${DNR[4]} ]} -geometry ${digitPos[4]} -composite \ + ${digitFile[ ${DNR[5]} ]} -geometry ${digitPos[5]} -composite \ + ${digitFile[ ${DNR[6]} ]} -geometry ${digitPos[6]} -composite \ + ${DP[1]} -geometry ${dotPos[1]} -composite \ + ${DP[2]} -geometry ${dotPos[2]} -composite \ + ${DP[3]} -geometry ${dotPos[3]} -composite \ + ${DP[4]} -geometry ${dotPos[4]} -composite \ + ${DP[5]} -geometry ${dotPos[5]} -composite \ + ${DP[6]} -geometry ${dotPos[6]} -composite \ $fname value="${DNR[5]}.${DNR[4]}${DNR[3]}E-"