MVE - Multi-View Environment mve-devel
Loading...
Searching...
No Matches
image_exif.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2015, Simon Fuhrmann
3 * TU Darmstadt - Graphics, Capture and Massively Parallel Computing
4 * All rights reserved.
5 *
6 * This software may be modified and distributed under the terms
7 * of the BSD 3-Clause license. See the LICENSE.txt file for details.
8 *
9 * Tiny EXIF tag extractor.
10 * Original code written by Mayank Lahiri (see .cc file).
11 * Original code from: http://code.google.com/p/easyexif/
12 * Some docs here: http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif.html
13 * More docs: http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/EXIF.html
14 * Even more docs: http://paulbourke.net/dataformats/tiff/
15 */
16
17#ifndef MVE_IMAGEEXIF_HEADER
18#define MVE_IMAGEEXIF_HEADER
19
20#include <iostream>
21#include <string>
22
23#include "mve/defines.h"
24
27
32{
33 ExifInfo (void);
34
36 std::string camera_maker;
38 std::string camera_model;
40 std::string date_modified;
42 std::string date_original;
44 std::string description;
46 std::string software;
48 std::string copyright;
50 std::string artist;
51
56
75 float f_number;
88};
89
97exif_extract (char const* data, std::size_t len, bool is_jpeg = false);
98
102void
103exif_debug_print (std::ostream& stream, ExifInfo const& exif,
104 bool indent = false);
105
106/* ---------------------------------------------------------------- */
107
108inline
109ExifInfo::ExifInfo (void)
110 : iso_speed(-1)
111 , bits_per_sample(-1)
112 , orientation(-1)
113 , focal_length(-1.0f)
114 , focal_length_35mm(-1.0f)
115 , f_number(-1.0f)
116 , exposure_time(-1.0f)
117 , exposure_bias(0.0f)
118 , shutter_speed(-1.0f)
119 , flash_mode(-1)
120 , image_width(-1)
121 , image_height(-1)
122{
123}
124
127
128#endif /* MVE_IMAGEEXIF_HEADER */
#define MVE_IMAGE_NAMESPACE_END
Definition defines.h:17
#define MVE_NAMESPACE_BEGIN
Definition defines.h:13
#define MVE_IMAGE_NAMESPACE_BEGIN
Definition defines.h:16
#define MVE_NAMESPACE_END
Definition defines.h:14
ExifInfo exif_extract(char const *data, std::size_t len, bool is_jpeg)
Function to extract a (selected) EXIF tags from binary data.
void exif_debug_print(std::ostream &stream, ExifInfo const &exif, bool indent)
Prints the EXIF information to stream.
EXIF information.
Definition image_exif.h:32
std::string copyright
Copyright information.
Definition image_exif.h:48
std::string camera_maker
Camera manufacturer.
Definition image_exif.h:36
int iso_speed
Camera ISO speed rating for the image.
Definition image_exif.h:53
int image_width
EXIF image width.
Definition image_exif.h:85
int orientation
Orientation of the image:
Definition image_exif.h:69
float shutter_speed
Image shutter speed in seconds.
Definition image_exif.h:81
float focal_length_35mm
Focal length equivalent for 35mm film.
Definition image_exif.h:73
std::string camera_model
Camera model.
Definition image_exif.h:38
std::string artist
Artist information.
Definition image_exif.h:50
int flash_mode
Flash mode (see http://tinyurl.com/o7pawes).
Definition image_exif.h:83
float f_number
F-number in 1/f.
Definition image_exif.h:75
float focal_length
Focal length of the image in mm, relative to sensor size.
Definition image_exif.h:71
float exposure_time
Image exposure time in seconds.
Definition image_exif.h:77
std::string description
Description of the image.
Definition image_exif.h:44
int bits_per_sample
Bits per sample.
Definition image_exif.h:55
std::string date_original
Date/time string of original image.
Definition image_exif.h:42
std::string software
Software used to process the image.
Definition image_exif.h:46
std::string date_modified
Date/time string of last modification.
Definition image_exif.h:40
float exposure_bias
Image exposure bias in F-stops.
Definition image_exif.h:79
int image_height
EXIF image height.
Definition image_exif.h:87