Welcome to our Community
Wanting to join the rest of our members? Feel free to sign up today.
Sign up

Precise timing for burst images in image header

jp95

Member
Joined
Sep 21, 2019
Messages
5
Reaction score
0
Hello

I am looking to buy a parrot anafi drone to do analysis using burst images but have a question.

In order to get the time between each burst image, I would like to read the image time (in the image header) as a rational number (such as 23.231). But I have been told that the image header time is given in whole seconds. Is this correct? If so, is there a way to get fairly accurate time differences between individual burst images? Alternatively, is the burst timing accurate so that I can assume a constant time difference between each image?

thanks
John Porter
 
Actually, Anafi does record the exact time to three digits after the second in the exif data.

The thing is it doesn’t get stored in the date taken field, but in a separate sub second field introduced in exif 2.2.

I just verified a bracket I took a while back has this field filled out, under SubSecTime, with it changing slightly with each photo in the bracketed burst.

I tried the built in photos app first, and they didn’t show it, then an app called just “exif” that didn’t display it ( you had ONE JOB, exif! ) but finally tried metapho and they showed me the subsecond values when I clicked on “all”.
 
Thanks Augerin. That is great news. I looked at the metapho app and it looks solid.

So the image exif header has the fractional second time. I would like to write a Matlab (Python or c++) program to read this info. I see the Exiv2 c++ library has the SubSecTime as one of the Tags.

Is there some way to send me two images which I can work on. Maybe reduced resolution to save space. My email is [email protected].
 
Hello Adam,

Thank you for sending the two images. I can read the SubSecCreateDate variable with Matlab using a Matlab tool called getexif. It gives me the fractional sec to 3 digits. It tells me the two images you sent me were taken over 2 seconds apart. This is great. Now I can time the images and calculate the rough velocity of objects (cars, balls, etc.). It would be nice to have the tilt and orientation of the camera but I did not see it.

thanks again
John Porter
 
Hi John

I just opened some of my Anafi JPG files in a hex editor and found the following in the header information.... at approx address '5d00' (slightly different address for each photo). There seems to be quite a bit of data for pitch, roll and yaw. Does this help?

XML:
<drone-parrot:ModelId>0914</drone-parrot:ModelId>
<drone-parrot:SerialNumber>PI0404------------</drone-parrot:SerialNumber>
<drone-parrot:SoftwareVersion>1.5.6</drone-parrot:SoftwareVersion>
<drone-parrot:SoftwareBuildId>anafi-4k-1.5.6</drone-parrot:SoftwareBuildId>
<drone-parrot:RunId>F03CAE38FCD97E22DDE18AB2C06BF28D</drone-parrot:RunId>
<drone-parrot:RunDate>2019-08-21T11:58:27+01:00</drone-parrot:RunDate>
<drone-parrot:BootId>5838567CD85B2A000EC1AD2E1F98256D</drone-parrot:BootId>
<drone-parrot:PhotoMode>Single</drone-parrot:PhotoMode>
<drone-parrot:DroneRollDegree>-2.511638</drone-parrot:DroneRollDegree>
<drone-parrot:DronePitchDegree>13.546317</drone-parrot:DronePitchDegree>
<drone-parrot:DroneYawDegree>31.778080</drone-parrot:DroneYawDegree>
<drone-parrot:CameraRollDegree>0.006654</drone-parrot:CameraRollDegree>
<drone-parrot:CameraPitchDegree>-24.380749</drone-parrot:CameraPitchDegree>
<drone-parrot:CameraYawDegree>31.749428</drone-parrot:CameraYawDegree>
<drone-parrot:CaptureTsUs>159794685</drone-parrot:CaptureTsUs>
<Camera:GPSXYAccuracy>120373181/217961523</Camera:GPSXYAccuracy>
<Camera:GPSZAccuracy>11240735/16777216</Camera:GPSZAccuracy>
<Camera:Roll>0.006654</Camera:Roll>
<Camera:Pitch>65.619247</Camera:Pitch>
<Camera:Yaw>31.749428</Camera:Yaw>
<Camera:AboveGroundAltitude>15679937/131072</Camera:AboveGroundAltitude>
<exif:GPSLatitude>55,38.720626260537614N</exif:GPSLatitude>
<exif:GPSLongitude>3,15.653997616407445W</exif:GPSLongitude>
<exif:ExposureBiasValue>0/1</exif:ExposureBiasValue>
<exif:GPSAltitude>9653453/32768</exif:GPSAltitude>
<exif:GPSAltitudeRef>0</exif:GPSAltitudeRef>
<exif:DateTimeOriginal>2019-08-21T11:59:51.422000+01:00</exif:DateTimeOriginal>
<tiff:YCbCrPositioning>1</tiff:YCbCrPositioning>
<tiff:Make>Parrot</tiff:Make>
<tiff:Model>Anafi</tiff:Model>
<tiff:Software>anafi-4k-1.5.6</tiff:Software>
<tiff:Orientation>1</tiff:Orientation>
<xap:CreateDate>2019-08-21T11:59:51.422000+01:00</xap:CreateDate>
<xap:ModifyDate>2019-08-21T11:59:51.422000+01:00</xap:ModifyDate>
<dc:date>2019-08-21T11:59:51.422000+01:00</dc:date>
<dc:format>image/jpeg</dc:format>
<dc:description>Anafi 1.5.6</dc:description>
</rdf:Description>
</rdf:RDF>
</x:xmpmeta>
 
Hi Joe_Scot

I am interested in getting the pitch, roll, yaw info you found. I have been using the exiftool (avaiable at ExifTool by Phil Harvey ) but I do not see the roll, pitch, yaw info in the two sample Anafi images I have (shared by Adam). It may be that I need different Anafi images or that I need a different exif reader. Would you be willing to share where you got your exif reader and possibly share one of your images.

many thanks
John
 
John,

I'm wondering if the variables you are looking for can by sync'd up between the camera foll and the .json file, which does have those values plus many others including velocities in three vectors, positions, GPS status and many more at millisecond intervals.

Dan
 
John

I've emailed you a full-size Anafi photo.

I suspect that the various EXIF-reading tools give different results as presumably some read more tags than others. I'd assume that if some of the tags are proprietary, such as

XML:
 <drone-parrot:DroneRollDegree>-2.511638</drone-parrot:DroneRollDegree>

... then maybe no EXIF reader will see that, hence the need to use a file editor that can just show you the complete header.

There are plenty of free hex editors, but I have always found Free Hex Editor Neo (current version 6.44) to be good enough for the job. Some features require a paid upgrade of the software, but the free version is fine for basic reading of files and copying bits out. Screenshot attached showing part of my file at address 00005d00.

Screenshot_Anafi_file.png

Joe
 
John

I've emailed you a full-size Anafi photo.

I suspect that the various EXIF-reading tools give different results as presumably some read more tags than others. I'd assume that if some of the tags are proprietary, such as

XML:
 <drone-parrot:DroneRollDegree>-2.511638</drone-parrot:DroneRollDegree>

... then maybe no EXIF reader will see that, hence the need to use a file editor that can just show you the complete header.

There are plenty of free hex editors, but I have always found Free Hex Editor Neo (current version 6.44) to be good enough for the job. Some features require a paid upgrade of the software, but the free version is fine for basic reading of files and copying bits out. Screenshot attached showing part of my file at address 00005d00.

View attachment 2812

Joe
Hello Joe

Thank you for the image and info. After installing the hex reader I was able to see the pitch, roll info as you said.

Well, here is where I show my mistakes. Previously I asked a similar question on another Parrot forum. It turns out they answered this question already and I did not see it until now. See the bottom of this link ...


So we can program burst images and get the image info using the Python Olympie software. I ordered myself an Anafi drone yesterday to begin working on this.

thanks again
John Porter
 
Hi John

Glad to see you have a solution that looks like it will work. Hope you enjoy using your new Anafi!

Cheers Joe
 

Members online

No members online now.

Forum statistics

Threads
5,318
Messages
45,169
Members
8,032
Latest member
schaefer73