From 7e60481974a20b6735dad7179bce728d0c944dfe Mon Sep 17 00:00:00 2001 From: Mayank Lahiri Date: Sat, 14 Nov 2015 12:31:28 -0800 Subject: [PATCH] Add Focal Plane X/Y resolution + GPS degree of precision. Fixes #1. --- demo.cpp | 3 ++ exif.cpp | 36 +++++++++++++++++-- exif.h | 43 ++++++++++++----------- test-images/down-mirrored.jpg.expected | 3 ++ test-images/evil1.jpg | Bin 0 -> 86490 bytes test-images/evil1.jpg.expected | 34 ++++++++++++++++++ test-images/lens_info.jpg.expected | 3 ++ test-images/right.jpg.expected | 3 ++ test-images/short-ascii-II.jpg.expected | 3 ++ test-images/short-ascii-MM.jpg.expected | 3 ++ test-images/sony-alpha-6000.jpg.expected | 3 ++ test-images/test1.jpg.expected | 3 ++ test-images/test2.jpg.expected | 3 ++ test-images/test3.jpg.expected | 3 ++ 14 files changed, 121 insertions(+), 22 deletions(-) create mode 100644 test-images/evil1.jpg create mode 100644 test-images/evil1.jpg.expected diff --git a/demo.cpp b/demo.cpp index 67394ec..7b3c6f6 100644 --- a/demo.cpp +++ b/demo.cpp @@ -68,12 +68,15 @@ int main(int argc, char *argv[]) { result.GeoLocation.LonComponents.seconds, result.GeoLocation.LonComponents.direction); printf("GPS Altitude : %f m\n", result.GeoLocation.Altitude); + printf("GPS Precision (DOP) : %f\n", result.GeoLocation.DOP); printf("Lens min focal length: %f mm\n", result.LensInfo.FocalLengthMin); printf("Lens max focal length: %f mm\n", result.LensInfo.FocalLengthMax); printf("Lens f-stop min : f/%.1f\n", result.LensInfo.FStopMin); printf("Lens f-stop max : f/%.1f\n", result.LensInfo.FStopMax); printf("Lens make : %s\n", result.LensInfo.Make.c_str()); printf("Lens model : %s\n", result.LensInfo.Model.c_str()); + printf("Focal plane XRes : %f\n", result.LensInfo.FocalPlaneXResolution); + printf("Focal plane YRes : %f\n", result.LensInfo.FocalPlaneYResolution); return 0; } diff --git a/exif.cpp b/exif.cpp index 826f5f7..7a964e1 100644 --- a/exif.cpp +++ b/exif.cpp @@ -682,12 +682,28 @@ int easyexif::EXIFInfo::parseFromEXIFSegment(const unsigned char *buf, this->ImageHeight = result.val_short().front(); break; + case 0xa20e: + // EXIF Focal plane X-resolution + if (result.format() == 5) { + this->LensInfo.FocalPlaneXResolution = result.val_rational()[0]; + } + break; + + case 0xa20f: + // EXIF Focal plane Y-resolution + if (result.format() == 5) { + this->LensInfo.FocalPlaneYResolution = result.val_rational()[0]; + } + break; + case 0xa405: // Focal length in 35mm film if (result.format() == 3) this->FocalLengthIn35mm = result.val_short().front(); break; + case 0xa432: + // Focal length and FStop. if (result.format() == 5) { this->LensInfo.FocalLengthMin = result.val_rational()[0]; this->LensInfo.FocalLengthMax = result.val_rational()[1]; @@ -695,12 +711,16 @@ int easyexif::EXIFInfo::parseFromEXIFSegment(const unsigned char *buf, this->LensInfo.FStopMax = result.val_rational()[3]; } break; + case 0xa433: + // Lens make. if (result.format() == 2) { this->LensInfo.Make = result.val_string(); } break; + case 0xa434: + // Lens model. if (result.format() == 2) { this->LensInfo.Model = result.val_string(); } @@ -784,12 +804,13 @@ int easyexif::EXIFInfo::parseFromEXIFSegment(const unsigned char *buf, case 5: // GPS altitude reference (below or above sea level) this->GeoLocation.AltitudeRef = *(buf + offs + 8); - if (1 == this->GeoLocation.AltitudeRef) + if (1 == this->GeoLocation.AltitudeRef) { this->GeoLocation.Altitude = -this->GeoLocation.Altitude; + } break; case 6: - // GPS altitude reference + // GPS altitude if (format == 5) { this->GeoLocation.Altitude = parse_value( buf + data + tiff_header_start, alignIntel); @@ -798,6 +819,14 @@ int easyexif::EXIFInfo::parseFromEXIFSegment(const unsigned char *buf, } } break; + + case 11: + // GPS degree of precision (DOP) + if (format == 5) { + this->GeoLocation.DOP = parse_value( + buf + data + tiff_header_start, alignIntel); + } + break; } offs += 12; } @@ -841,6 +870,7 @@ void easyexif::EXIFInfo::clear() { GeoLocation.Longitude = 0; GeoLocation.Altitude = 0; GeoLocation.AltitudeRef = 0; + GeoLocation.DOP = 0; GeoLocation.LatComponents.degrees = 0; GeoLocation.LatComponents.minutes = 0; GeoLocation.LatComponents.seconds = 0; @@ -855,6 +885,8 @@ void easyexif::EXIFInfo::clear() { LensInfo.FocalLengthMin = 0; LensInfo.FStopMax = 0; LensInfo.FStopMin = 0; + LensInfo.FocalPlaneYResolution = 0; + LensInfo.FocalPlaneXResolution = 0; LensInfo.Make = ""; LensInfo.Model = ""; } diff --git a/exif.h b/exif.h index 3fe9acb..870b21e 100644 --- a/exif.h +++ b/exif.h @@ -1,5 +1,5 @@ /************************************************************************** - exif.h -- A simple ISO C++ library to parse basic EXIF + exif.h -- A simple ISO C++ library to parse basic EXIF information from a JPEG file. Based on the description of the EXIF file format at: @@ -15,7 +15,7 @@ ================ 2.2: Release December 2014 - -- + -- 2.1: Released July 2013 -- fixed a bug where JPEGs without an EXIF SubIFD would not be parsed @@ -31,25 +31,25 @@ -- added GPS support 1.0: Released 2010 - - Redistribution and use in source and binary forms, with or without + + Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -- Redistributions of source code must retain the above copyright notice, + -- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -- Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation + -- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESS - OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN - NO EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, - BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESS + OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN + NO EVENT SHALL THE FREEBSD PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef __EXIF_H @@ -59,7 +59,7 @@ namespace easyexif { -// +// // Class responsible for storing and parsing EXIF information from a JPEG blob // class EXIFInfo { @@ -74,7 +74,7 @@ class EXIFInfo { int parseFrom(const std::string &data); // Parsing function for an EXIF segment. This is used internally by parseFrom() - // but can be called for special cases where only the EXIF section is + // but can be called for special cases where only the EXIF section is // available (i.e., a blob starting with the bytes "Exif\0\0"). int parseFromEXIFSegment(const unsigned char *buf, unsigned len); @@ -82,7 +82,7 @@ class EXIFInfo { void clear(); // Data fields filled out by parseFrom() - char ByteAlign; // 0 = Motorola byte alignment, 1 = Intel + char ByteAlign; // 0 = Motorola byte alignment, 1 = Intel std::string ImageDescription; // Image description std::string Make; // Camera manufacturer's name std::string Model; // Camera model @@ -122,18 +122,21 @@ class EXIFInfo { double Longitude; // Image longitude expressed as decimal double Altitude; // Altitude in meters, relative to sea level char AltitudeRef; // 0 = above sea level, -1 = below sea level + double DOP; // GPS degree of precision (DOP) struct Coord_t { double degrees; double minutes; double seconds; char direction; - } LatComponents, LonComponents; // Latitude, Longitude expressed in deg/min/sec + } LatComponents, LonComponents; // Latitude, Longitude expressed in deg/min/sec } GeoLocation; struct LensInfo_t { // Lens information double FStopMin; // Min aperture (f-stop) double FStopMax; // Max aperture (f-stop) double FocalLengthMin; // Min focal length (mm) double FocalLengthMax; // Max focal length (mm) + double FocalPlaneXResolution; // Focal plane X-resolution + double FocalPlaneYResolution; // Focal plane Y-resolution std::string Make; // Lens manufacturer std::string Model; // Lens model } LensInfo; diff --git a/test-images/down-mirrored.jpg.expected b/test-images/down-mirrored.jpg.expected index 3872608..1eb683f 100644 --- a/test-images/down-mirrored.jpg.expected +++ b/test-images/down-mirrored.jpg.expected @@ -23,9 +23,12 @@ Lens focal length : 0.000000 mm GPS Latitude : 0.000000 deg (0.000000 deg, 0.000000 min, 0.000000 sec ?) GPS Longitude : 0.000000 deg (0.000000 deg, 0.000000 min, 0.000000 sec ?) GPS Altitude : 0.000000 m +GPS Precision (DOP) : 0.000000 Lens min focal length: 0.000000 mm Lens max focal length: 0.000000 mm Lens f-stop min : f/0.0 Lens f-stop max : f/0.0 Lens make : Lens model : +Focal plane XRes : 0.000000 +Focal plane YRes : 0.000000 diff --git a/test-images/evil1.jpg b/test-images/evil1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..addb2d79e452a656b15ab442622ba0fe8470377b GIT binary patch literal 86490 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

5Jt+jAtOo6p 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 UoG<>7om<0gY*ffM{om;S0XvQ#9RL6T literal 0 HcmV?d00001 diff --git a/test-images/evil1.jpg.expected b/test-images/evil1.jpg.expected new file mode 100644 index 0000000..c12f27e --- /dev/null +++ b/test-images/evil1.jpg.expected @@ -0,0 +1,34 @@ +Camera make : Canon +Camera model : Canon PowerShot S400 +Software : Adobe Photoshop 7.0 +Bits per sample : 0 +Image width : 400 +Image height : 300 +Image description : +Image orientation : 1 +Image copyright : +Image date/time : 2003:05:25 11:11:41 +Original date/time : 2003:05:24 16:40:33 +Digitize date/time : 2003:05:24 16:40:33 +Subsecond time : +Exposure time : 1/8 s +F-stop : f/2.8 +ISO speed : 0 +Subject distance : 0.000000 m +Exposure bias : 0.000000 EV +Flash used? : 1 +Metering mode : 5 +Lens focal length : 7.406250 mm +35mm focal length : 0 mm +GPS Latitude : 0.000000 deg (0.000000 deg, 0.000000 min, 0.000000 sec ?) +GPS Longitude : 0.000000 deg (0.000000 deg, 0.000000 min, 0.000000 sec ?) +GPS Altitude : 0.000000 m +GPS Precision (DOP) : 0.000000 +Lens min focal length: 0.000000 mm +Lens max focal length: 0.000000 mm +Lens f-stop min : f/0.0 +Lens f-stop max : f/0.0 +Lens make : +Lens model : +Focal plane XRes : 8114.285714 +Focal plane YRes : 8114.285714 diff --git a/test-images/lens_info.jpg.expected b/test-images/lens_info.jpg.expected index 150d0ae..c175a08 100644 --- a/test-images/lens_info.jpg.expected +++ b/test-images/lens_info.jpg.expected @@ -23,9 +23,12 @@ Lens focal length : 0.000000 mm GPS Latitude : 0.000000 deg (0.000000 deg, 0.000000 min, 0.000000 sec ?) GPS Longitude : 0.000000 deg (0.000000 deg, 0.000000 min, 0.000000 sec ?) GPS Altitude : 0.000000 m +GPS Precision (DOP) : 0.000000 Lens min focal length: 10.000000 mm Lens max focal length: 400.000000 mm Lens f-stop min : f/1.1 Lens f-stop max : f/1.2 Lens make : Lens Maker Inc. Lens model : Lens Model mk I +Focal plane XRes : 0.000000 +Focal plane YRes : 0.000000 diff --git a/test-images/right.jpg.expected b/test-images/right.jpg.expected index 0e8d026..1520034 100644 --- a/test-images/right.jpg.expected +++ b/test-images/right.jpg.expected @@ -23,9 +23,12 @@ Lens focal length : 0.000000 mm GPS Latitude : 0.000000 deg (0.000000 deg, 0.000000 min, 0.000000 sec ?) GPS Longitude : 0.000000 deg (0.000000 deg, 0.000000 min, 0.000000 sec ?) GPS Altitude : 0.000000 m +GPS Precision (DOP) : 0.000000 Lens min focal length: 0.000000 mm Lens max focal length: 0.000000 mm Lens f-stop min : f/0.0 Lens f-stop max : f/0.0 Lens make : Lens model : +Focal plane XRes : 0.000000 +Focal plane YRes : 0.000000 diff --git a/test-images/short-ascii-II.jpg.expected b/test-images/short-ascii-II.jpg.expected index 39f8d19..ddeb34e 100644 --- a/test-images/short-ascii-II.jpg.expected +++ b/test-images/short-ascii-II.jpg.expected @@ -23,9 +23,12 @@ Lens focal length : 3.510000 mm GPS Latitude : 0.000000 deg (0.000000 deg, 0.000000 min, 0.000000 sec ?) GPS Longitude : 0.000000 deg (0.000000 deg, 0.000000 min, 0.000000 sec ?) GPS Altitude : 0.000000 m +GPS Precision (DOP) : 0.000000 Lens min focal length: 0.000000 mm Lens max focal length: 0.000000 mm Lens f-stop min : f/0.0 Lens f-stop max : f/0.0 Lens make : Lens model : +Focal plane XRes : 0.000000 +Focal plane YRes : 0.000000 diff --git a/test-images/short-ascii-MM.jpg.expected b/test-images/short-ascii-MM.jpg.expected index b10a9a2..4fdb263 100644 --- a/test-images/short-ascii-MM.jpg.expected +++ b/test-images/short-ascii-MM.jpg.expected @@ -23,9 +23,12 @@ Lens focal length : 21.300000 mm GPS Latitude : 0.000000 deg (0.000000 deg, 0.000000 min, 0.000000 sec ?) GPS Longitude : 0.000000 deg (0.000000 deg, 0.000000 min, 0.000000 sec ?) GPS Altitude : 0.000000 m +GPS Precision (DOP) : 0.000000 Lens min focal length: 0.000000 mm Lens max focal length: 0.000000 mm Lens f-stop min : f/0.0 Lens f-stop max : f/0.0 Lens make : Lens model : +Focal plane XRes : 8114.285714 +Focal plane YRes : 8114.285714 diff --git a/test-images/sony-alpha-6000.jpg.expected b/test-images/sony-alpha-6000.jpg.expected index be2a578..a9304fa 100644 --- a/test-images/sony-alpha-6000.jpg.expected +++ b/test-images/sony-alpha-6000.jpg.expected @@ -23,9 +23,12 @@ Lens focal length : 22.000000 mm GPS Latitude : 0.000000 deg (0.000000 deg, 0.000000 min, 0.000000 sec ?) GPS Longitude : 0.000000 deg (0.000000 deg, 0.000000 min, 0.000000 sec ?) GPS Altitude : 0.000000 m +GPS Precision (DOP) : 0.000000 Lens min focal length: 16.000000 mm Lens max focal length: 50.000000 mm Lens f-stop min : f/3.5 Lens f-stop max : f/5.6 Lens make : Lens model : E PZ 16-50mm F3.5-5.6 OSS +Focal plane XRes : 0.000000 +Focal plane YRes : 0.000000 diff --git a/test-images/test1.jpg.expected b/test-images/test1.jpg.expected index bb33c40..15e6100 100644 --- a/test-images/test1.jpg.expected +++ b/test-images/test1.jpg.expected @@ -23,9 +23,12 @@ Lens focal length : 4.280000 mm GPS Latitude : 37.885000 deg (37.000000 deg, 53.100000 min, 0.000000 sec N) GPS Longitude : -122.622500 deg (122.000000 deg, 37.350000 min, 0.000000 sec W) GPS Altitude : 122.000000 m +GPS Precision (DOP) : 0.000000 Lens min focal length: 0.000000 mm Lens max focal length: 0.000000 mm Lens f-stop min : f/0.0 Lens f-stop max : f/0.0 Lens make : Lens model : +Focal plane XRes : 0.000000 +Focal plane YRes : 0.000000 diff --git a/test-images/test2.jpg.expected b/test-images/test2.jpg.expected index 10eb505..5f5a8e3 100644 --- a/test-images/test2.jpg.expected +++ b/test-images/test2.jpg.expected @@ -23,9 +23,12 @@ Lens focal length : 4.280000 mm GPS Latitude : 37.814667 deg (37.000000 deg, 48.880000 min, 0.000000 sec N) GPS Longitude : -122.264167 deg (122.000000 deg, 15.850000 min, 0.000000 sec W) GPS Altitude : 2.000000 m +GPS Precision (DOP) : 0.000000 Lens min focal length: 0.000000 mm Lens max focal length: 0.000000 mm Lens f-stop min : f/0.0 Lens f-stop max : f/0.0 Lens make : Lens model : +Focal plane XRes : 0.000000 +Focal plane YRes : 0.000000 diff --git a/test-images/test3.jpg.expected b/test-images/test3.jpg.expected index 256db1b..840d550 100644 --- a/test-images/test3.jpg.expected +++ b/test-images/test3.jpg.expected @@ -23,9 +23,12 @@ Lens focal length : 4.280000 mm GPS Latitude : 37.776333 deg (37.000000 deg, 46.580000 min, 0.000000 sec N) GPS Longitude : -122.419667 deg (122.000000 deg, 25.180000 min, 0.000000 sec W) GPS Altitude : 15.833345 m +GPS Precision (DOP) : 0.000000 Lens min focal length: 0.000000 mm Lens max focal length: 0.000000 mm Lens f-stop min : f/0.0 Lens f-stop max : f/0.0 Lens make : Lens model : +Focal plane XRes : 0.000000 +Focal plane YRes : 0.000000