diff --git a/FLUKE-8840A/body.png b/FLUKE-8840A/body.png new file mode 100644 index 0000000000000000000000000000000000000000..ee2936327e2063d6fd31d669b4e5a930d419b970 Binary files /dev/null and b/FLUKE-8840A/body.png differ diff --git a/FLUKE-8840A/createImages b/FLUKE-8840A/createImages new file mode 100755 index 0000000000000000000000000000000000000000..30722a4811d96a176ffaf1ebc3dd071ea3f4d2a0 --- /dev/null +++ b/FLUKE-8840A/createImages @@ -0,0 +1,148 @@ +#!/bin/sh +# +# Rolf Niepraschk <Rolf.Niepraschk@ptb.de>, 2016-12-12 +# +# Erzeugt aus einem leeren Messgeräte-Bild und max. neun 7-Segment-Bildern +# neue Messgeräte-Bilder mit zufälliger 6-stelliger Anzeige +# + +MAIN="FLUKE-8840A" # device name +IMAGE_DIR=./images +MAX_FILES=10 + +rm -rf "$IMAGE_DIR" +mkdir -p "$IMAGE_DIR" + +dotFile='dot.png' +plusFile='plus.png' +minusFile='minus.png' +emptyCanvas='xc:transparent' + +digitFile[0]='digit-0.png' +digitFile[1]='digit-1.png' +digitFile[2]='digit-2.png' +digitFile[3]='digit-3.png' +digitFile[4]='digit-4.png' +digitFile[5]='digit-5.png' +digitFile[6]='digit-6.png' +digitFile[7]='digit-7.png' +digitFile[8]='digit-8.png' +digitFile[9]='digit-9.png' +digitFile[99]=$emptyCanvas + +digitPos[6]='+192+173.65' +digitPos[5]='+226+173.65' +digitPos[4]='+260+173.65' +digitPos[3]='+294+173.65' +digitPos[2]='+328+173.65' +digitPos[1]='+362+173.65' + +dotPos[6]='+192+173.65' +dotPos[5]='+226+173.65' +dotPos[4]='+260+173.65' +dotPos[3]='+294+173.65' +dotPos[2]='+328+173.65' +dotPos[1]='+362+173.65' + +signPos='+187+173' + +for ((FNb=1; FNb<=MAX_FILES; FNb++)); do + +DPR=$((RANDOM % 6 + 1)) # random dot position (1..6) +SIGN=$((RANDOM % 2)) # random (0|1=+|-) +if [ $SIGN == 0 ]; then + SF=$plusFile # sign file + SCH='+' # sign character +else + SF=$minusFile + SCH='-' +fi + +for i in {1..6}; do + if [ $i == 6 ]; then # position 6: "1" or nothing + DNR[6]=$((RANDOM % 2)) + if [ ${DNR[6]} == 0 ]; then DNR[6]=99; fi + # random digit number (99|1) + 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="${SCH}${DNR[6]}${DP[6]}${DNR[5]}${DP[5]}${DNR[4]}${DP[4]}" +value+="${DNR[3]}${DP[3]}${DNR[2]}${DP[2]}${DNR[1]}${DP[1]}" + +fname="$IMAGE_DIR/$MAIN@$value@.png" + +convert body.png \ + $SF -geometry $signPos -composite \ + ${digitFile[ ${DNR[6]} ]} -geometry ${digitPos[6]} -composite \ + ${DF[6]} -geometry ${dotPos[6]} -composite \ + ${digitFile[ ${DNR[5]} ]} -geometry ${digitPos[5]} -composite \ + ${DF[5]} -geometry ${dotPos[5]} -composite \ + ${digitFile[ ${DNR[4]} ]} -geometry ${digitPos[4]} -composite \ + ${DF[4]} -geometry ${dotPos[4]} -composite \ + ${digitFile[ ${DNR[3]} ]} -geometry ${digitPos[3]} -composite \ + ${DF[3]} -geometry ${dotPos[3]} -composite \ + ${digitFile[ ${DNR[2]} ]} -geometry ${digitPos[2]} -composite \ + ${DF[2]} -geometry ${dotPos[2]} -composite \ + ${digitFile[ ${DNR[1]} ]} -geometry ${digitPos[1]} -composite \ + ${DF[1]} -geometry ${dotPos[1]} -composite \ + $fname + +exiv2 -M"set Exif.Image.ImageDescription value=$value" $fname + +echo -e "$FNb:\t$fname" + +done # MAX_FILES + +exit + +Test: + +SF=$plusFile +fname=yy.png +DNR[6]=1 +DNR[5]=7 +DNR[4]=3 +DNR[3]=0 +DNR[2]=5 +DNR[1]=6 + +DF[6]=$dotFile +DF[5]=$emptyCanvas +DF[4]=$emptyCanvas +DF[3]=$emptyCanvas +DF[2]=$emptyCanvas +DF[1]=$emptyCanvas + +convert body.png \ + $SF -geometry $signPos -composite \ + ${digitFile[ ${DNR[6]} ]} -geometry ${digitPos[6]} -composite \ + ${DF[6]} -geometry ${dotPos[6]} -composite \ + ${digitFile[ ${DNR[5]} ]} -geometry ${digitPos[5]} -composite \ + ${DF[5]} -geometry ${dotPos[5]} -composite \ + ${digitFile[ ${DNR[4]} ]} -geometry ${digitPos[4]} -composite \ + ${DF[4]} -geometry ${dotPos[4]} -composite \ + ${digitFile[ ${DNR[3]} ]} -geometry ${digitPos[3]} -composite \ + ${DF[3]} -geometry ${dotPos[3]} -composite \ + ${digitFile[ ${DNR[2]} ]} -geometry ${digitPos[2]} -composite \ + ${DF[2]} -geometry ${dotPos[2]} -composite \ + ${digitFile[ ${DNR[1]} ]} -geometry ${digitPos[1]} -composite \ + ${DF[1]} -geometry ${dotPos[1]} -composite \ + yy.png + +----------------------------------------------------------------------- + +Auslesen der Exif-Daten: +exiv2 -g Exif.Image.ImageDescription -P v ./images/151.108@GERAET_X.png +--> value=151.108 + + + diff --git a/FLUKE-8840A/createVideo b/FLUKE-8840A/createVideo new file mode 100755 index 0000000000000000000000000000000000000000..64c5542a6cd718468e0ddbebb5b7d19315250ccd --- /dev/null +++ b/FLUKE-8840A/createVideo @@ -0,0 +1,20 @@ +#!/bin/sh +# +# Rolf Niepraschk <Rolf.Niepraschk@ptb.de>, 2016-12-12 +# +# Erzeugt aus allen Messgeräte-Bilder eine Videodatei (Codec X264) +# + +MAIN="FLUKE-8840A" # device name +IMAGE_DIR=./images + +cat $(find "$IMAGE_DIR" -maxdepth 1 -type f -name "*.png") | \ + ffmpeg -y -framerate .5 -i - -c:v libx264 -r 25 -pix_fmt yuv420p \ + "$MAIN.mp4" 2>/dev/null + +exit + +MJEPEG-Video: + +ffmpeg -y -framerate 1 -f image2 -pattern_type glob -i 'images/*.png' \ + -c:v mjpeg -qscale 1 -r 25 ABC.avi diff --git a/FLUKE-8840A/digit-0.png b/FLUKE-8840A/digit-0.png new file mode 100644 index 0000000000000000000000000000000000000000..8e9dbd04bb3418ee7ce9ac2f3c141cba32f3ece9 Binary files /dev/null and b/FLUKE-8840A/digit-0.png differ diff --git a/FLUKE-8840A/digit-1.png b/FLUKE-8840A/digit-1.png new file mode 100644 index 0000000000000000000000000000000000000000..a48a1d8b980b24dfe0ea0298c1b9f2ae6ecf014d Binary files /dev/null and b/FLUKE-8840A/digit-1.png differ diff --git a/FLUKE-8840A/digit-2.png b/FLUKE-8840A/digit-2.png new file mode 100644 index 0000000000000000000000000000000000000000..55cd62fe7ecdc3f4389db16c920104eff895d6b8 Binary files /dev/null and b/FLUKE-8840A/digit-2.png differ diff --git a/FLUKE-8840A/digit-3.png b/FLUKE-8840A/digit-3.png new file mode 100644 index 0000000000000000000000000000000000000000..c71977f27d6d04fbe165decc69a98a6881d5c6f4 Binary files /dev/null and b/FLUKE-8840A/digit-3.png differ diff --git a/FLUKE-8840A/digit-4.png b/FLUKE-8840A/digit-4.png new file mode 100644 index 0000000000000000000000000000000000000000..5cd68dc5a0e5fe56c6f343992bd46eca02d4c2a4 Binary files /dev/null and b/FLUKE-8840A/digit-4.png differ diff --git a/FLUKE-8840A/digit-5.png b/FLUKE-8840A/digit-5.png new file mode 100644 index 0000000000000000000000000000000000000000..5cd451a941bd4659d6118408f1edd492b78a6893 Binary files /dev/null and b/FLUKE-8840A/digit-5.png differ diff --git a/FLUKE-8840A/digit-6.png b/FLUKE-8840A/digit-6.png new file mode 100644 index 0000000000000000000000000000000000000000..1abc5b824aae485e1f3825301503e6ff7cb0d6f9 Binary files /dev/null and b/FLUKE-8840A/digit-6.png differ diff --git a/FLUKE-8840A/digit-7.png b/FLUKE-8840A/digit-7.png new file mode 100644 index 0000000000000000000000000000000000000000..605e26e8c2419ede44fd2f18cfc711bc65e28e32 Binary files /dev/null and b/FLUKE-8840A/digit-7.png differ diff --git a/FLUKE-8840A/digit-8.png b/FLUKE-8840A/digit-8.png new file mode 100644 index 0000000000000000000000000000000000000000..dabb54772c86ced1cf2f0efb7b29552729435e5e Binary files /dev/null and b/FLUKE-8840A/digit-8.png differ diff --git a/FLUKE-8840A/digit-9.png b/FLUKE-8840A/digit-9.png new file mode 100644 index 0000000000000000000000000000000000000000..43a8ca4eb945bd4f929efa3fbd503355bc1f3239 Binary files /dev/null and b/FLUKE-8840A/digit-9.png differ diff --git a/FLUKE-8840A/dot.png b/FLUKE-8840A/dot.png new file mode 100644 index 0000000000000000000000000000000000000000..6ce70a2bef8a27e5ddce9c6264fba066d31514c0 Binary files /dev/null and b/FLUKE-8840A/dot.png differ diff --git a/FLUKE-8840A/minus.png b/FLUKE-8840A/minus.png new file mode 100644 index 0000000000000000000000000000000000000000..32027da37ab87962125599a450d4c7c506a62958 Binary files /dev/null and b/FLUKE-8840A/minus.png differ diff --git a/FLUKE-8840A/plus.png b/FLUKE-8840A/plus.png new file mode 100644 index 0000000000000000000000000000000000000000..bfa261668b6d4c831a0ba20b17e8004aa2ffef02 Binary files /dev/null and b/FLUKE-8840A/plus.png differ