Jq stuff: Difference between revisions
Line 32: | Line 32: | ||
<code>tiffinfo 2023-05-07\ 13_57_17_evx_left_3845.tiff | grep 65001 | sed 's/ Tag 65001: //' | sed 's/\\//'g | jq '.renderData.type'</code> | <code>tiffinfo 2023-05-07\ 13_57_17_evx_left_3845.tiff | grep 65001 | sed 's/ Tag 65001: //' | sed 's/\\//'g | jq '.renderData.type'</code> | ||
Remove stderr from stream | |||
<code>tiffinfo 189.tiff 2>/dev/null | grep 65001 | sed 's/ Tag 65001: //' | sed 's/\\//'g | jq '.renderData.type'</code> | |||
== LPR parsing (Axis P1455) == | == LPR parsing (Axis P1455) == |
Revision as of 11:25, 27 June 2023
Using jq
Command to return the id number of the last scan:
cnt=$(jq '.lastVehicleRecord.scans | length' heartbeat)
Fancy way to find the scanId of a selected system via bash and jq
if [ -z $1 ]; then whichIE="uvx"; else whichIE=$1; fi printf ".lastVehicleRecord.scans[] | select(.type | endswith(\""$whichIE"\"))\n" > parms.jq wget -qO heartbeat http://$ip/heartbeat cnt=$(jq '.lastVehicleRecord.scans | length' heartbeat) id=$(jq -f parms.jq heartbeat | jq '.id') if [ ! -z $id ]; then wget -qO $id.orig.tiff http://$ip/requestImage/?scanId=$id fi
More interesting jq examples:
"plateCoordinates":[898, 210, 144, 44] "plateCoordinatesRelative":[898, 210, 144, 44],
jq ".plateCoordinates | .[1]" upload_test/2023-05-12_12:08:07.txt
Tiff info parsing
Parsing examples of .tiff files extracing meta data from the headers.
tiffinfo 2023-05-07\ 13_57_17_evx_left_3845.tiff | grep 65001 | sed 's/ Tag 65001: //' | sed 's/\\//'g | jq
tiffinfo 2023-05-07\ 13_57_17_evx_left_3845.tiff | grep 65001 | sed 's/ Tag 65001: //' | sed 's/\\//'g | jq '.timestamp'
tiffinfo 2023-05-07\ 13_57_17_evx_left_3845.tiff | grep 65001 | sed 's/ Tag 65001: //' | sed 's/\\//'g | jq '.renderData.type'
Remove stderr from stream
tiffinfo 189.tiff 2>/dev/null | grep 65001 | sed 's/ Tag 65001: //' | sed 's/\\//'g | jq '.renderData.type'
LPR parsing (Axis P1455)
The camera should be set to "save full frame".
Parsing the json from the axis camera:
jq ".ImageArray[0].BinaryImage" /home4/Events/upload_test/2023-06-15_15:27:01.txt > image.b64
Next remove the quotes in the image.b64 file, or:
jq --raw-output ".ImageArray[0].BinaryImage" /home4/Events/upload_test/2023-06-15_15:27:01.txt > image.b64
Then:
base64 -d image.b64 > image.jpg
Now to get the lpr image:
jq ".imagesURI[0]" /home4/Events/upload_test/2023-06-15_15:27:01.txt
then use that url to pull the license plate image. You may have to trim the returned url to just include "getImage&name=3
", not the full url...
Alternatively you could just grab the plate coordinates from the json and clip the image, presumably.
jq ".plateCoordinates" /home4/Events/upload_test/2023-06-15_15:27:01.txt