Skip to content
Snippets Groups Projects
Commit d4b6af4d authored by Rolf Niepraschk's avatar Rolf Niepraschk
Browse files

Code vereinfacht; mehr Variationen

parent a4a62cc4
Branches
No related tags found
No related merge requests found
IM520/body.png

341 KiB | W: | H:

IM520/body.png

340 KiB | W: | H:

IM520/body.png
IM520/body.png
IM520/body.png
IM520/body.png
  • 2-up
  • Swipe
  • Onion skin
#!/bin/bash #!/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 # 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 # Parameter1 = Anzahl der erzeugten Bilddateien
# #
# Parameter2 = Anzahl der Einzelziffern
MAIN="IM520" # device name MAIN="IM520" # device name
IMAGE_DIR=./images IMAGE_DIR=./images
MAX_DIGITS=5 # do not edit! MAX_DIGITS=6 # do not edit!
MAX_FILES=10 # do not edit! MAX_FILES=10 # do not edit!
NUMBER_OF_DIGITS=$MAX_DIGITS NUMBER_OF_DIGITS=$MAX_DIGITS
SHOW_EXP=true
if [ -n "$1" ]; then if [ -n "$1" ]; then
MAX_FILES=$1 MAX_FILES=$1
if [ -n "$2" ]; then if [ -n "$2" ]; then
SHOW_EXP=false
NUMBER_OF_DIGITS=$2 NUMBER_OF_DIGITS=$2
fi fi
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" rm -rf "$IMAGE_DIR"
mkdir -p "$IMAGE_DIR" mkdir -p "$IMAGE_DIR"
dotFile='dot.png' dotFile='dot.png'
minusFile='minus.png' minusFile='minus.png'
...@@ -39,46 +50,88 @@ digitFile[6]='digit-6.png' ...@@ -39,46 +50,88 @@ digitFile[6]='digit-6.png'
digitFile[7]='digit-7.png' digitFile[7]='digit-7.png'
digitFile[8]='digit-8.png' digitFile[8]='digit-8.png'
digitFile[9]='digit-9.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[1]='+272+160'
digitPos[2]='+296+160' digitPos[2]='+294+160'
digitPos[3]='+313+160' digitPos[3]='+316+160'
digitPos[4]='+360+160' digitPos[4]='+338+160'
digitPos[5]='+375+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 ((FNb=1; FNb<=MAX_FILES; FNb++)); do
for (( i=1; i<=$MAX_DIGITS; i++ )); do value=""
DNR[$i]=$((RANDOM % 10)) # random digit number (0..9) DPR=$((RANDOM % $NUMBER_OF_DIGITS + 1)) # random dot position (1..$NUMBER_OF_DIGITS)
eval DIGIT$i=${digitFile[ ${DNR[i]} ]} for (( i=1; i<=$MAX_DIGITS; i++ )); do
done 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]}" echo -e "$FNb:\t$fname"
fname="$IMAGE_DIR/$MAIN@$value@.png"
convert body.png \ convert body.png \
$DIGIT1 -geometry ${digitPos[1]} -composite \ $DIGIT1 -geometry ${digitPos[1]} -composite \
$DIGIT2 -geometry ${digitPos[2]} -composite \ $DIGIT2 -geometry ${digitPos[2]} -composite \
$DIGIT3 -geometry ${digitPos[3]} -composite \ $DIGIT3 -geometry ${digitPos[3]} -composite \
$DIGIT4 -geometry ${digitPos[4]} -composite \ $DIGIT4 -geometry ${digitPos[4]} -composite \
$DIGIT5 -geometry ${digitPos[5]} -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 $fname
exiv2 -M"set Exif.Image.ImageDescription value=$value" $fname exiv2 -M"set Exif.Image.ImageDescription value=$value" $fname
echo -e "$FNb:\t$fname"
done # MAX_FILES done # MAX_FILES
exit exit
----------------------------------------------------------------------- -----------------------------------------------------------------------
Auslesen der Exif-Daten: Auslesen der Exif-Daten:
exiv2 -g Exif.Image.ImageDescription -P v ./images/151.108@GERAET_X.png exiv2 -g Exif.Image.ImageDescription -P v ./images/ADIXEN@???@.png
--> value=151.108 --> value=???
exit
...@@ -19,26 +19,53 @@ digitFile[6]='digit-6.png' ...@@ -19,26 +19,53 @@ digitFile[6]='digit-6.png'
digitFile[7]='digit-7.png' digitFile[7]='digit-7.png'
digitFile[8]='digit-8.png' digitFile[8]='digit-8.png'
digitFile[9]='digit-9.png' digitFile[9]='digit-9.png'
digitFile[99]=$emptyCanvas # empty canvas digitFile[10]='minus.png'
digitFile[11]='digit-E.png'
DNR[5]=5 DNR[1]=5
DNR[4]=4 DNR[2]=4
DNR[3]=1 DNR[3]=11
DNR[2]=0 DNR[4]=0
DNR[1]=8 DNR[5]=2
DNR[6]=8
digitPos[5]='+272+160' DP[1]=$emptyCanvas
digitPos[4]='+296+160' DP[2]=$emptyCanvas
digitPos[3]='+313+160' DP[3]=$emptyCanvas
digitPos[2]='+360+160' DP[3]=dot.png
digitPos[1]='+375+160' 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 \ 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[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 $fname
value="${DNR[5]}.${DNR[4]}${DNR[3]}E-" value="${DNR[5]}.${DNR[4]}${DNR[3]}E-"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment