| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
 | | # |  | # The Python Imaging Library. |  | # $Id$ |  | # |  | # EXIF tags |  | # |  | # Copyright (c) 2003 by Secret Labs AB |  | # |  | # See the README file for information on usage and redistribution. |  | # |  |   |  | ## |  | # This module provides constants and clear-text names for various |  | # well-known EXIF tags. |  | ## |  |   |  | ## |  | # Maps EXIF tags to tag names. |  |   |  | TAGS = { |  |   |  |     # possibly incomplete |  |     0x0100: "ImageWidth", |  |     0x0101: "ImageLength", |  |     0x0102: "BitsPerSample", |  |     0x0103: "Compression", |  |     0x0106: "PhotometricInterpretation", |  |     0x010e: "ImageDescription", |  |     0x010f: "Make", |  |     0x0110: "Model", |  |     0x0111: "StripOffsets", |  |     0x0112: "Orientation", |  |     0x0115: "SamplesPerPixel", |  |     0x0116: "RowsPerStrip", |  |     0x0117: "StripByteConunts", |  |     0x011a: "XResolution", |  |     0x011a: "XResolution", |  |     0x011b: "YResolution", |  |     0x011b: "YResolution", |  |     0x011c: "PlanarConfiguration", |  |     0x0128: "ResolutionUnit", |  |     0x0128: "ResolutionUnit", |  |     0x012d: "TransferFunction", |  |     0x0131: "Software", |  |     0x0132: "DateTime", |  |     0x013b: "Artist", |  |     0x013e: "WhitePoint", |  |     0x013f: "PrimaryChromaticities", |  |     0x0201: "JpegIFOffset", |  |     0x0202: "JpegIFByteCount", |  |     0x0211: "YCbCrCoefficients", |  |     0x0211: "YCbCrCoefficients", |  |     0x0212: "YCbCrSubSampling", |  |     0x0213: "YCbCrPositioning", |  |     0x0213: "YCbCrPositioning", |  |     0x0214: "ReferenceBlackWhite", |  |     0x0214: "ReferenceBlackWhite", |  |     0x1000: "RelatedImageFileFormat", |  |     0x1001: "RelatedImageLength", |  |     0x1001: "RelatedImageWidth", |  |     0x828d: "CFARepeatPatternDim", |  |     0x828e: "CFAPattern", |  |     0x828f: "BatteryLevel", |  |     0x8298: "Copyright", |  |     0x829a: "ExposureTime", |  |     0x829d: "FNumber", |  |     0x8769: "ExifOffset", |  |     0x8773: "InterColorProfile", |  |     0x8822: "ExposureProgram", |  |     0x8824: "SpectralSensitivity", |  |     0x8825: "GPSInfo", |  |     0x8827: "ISOSpeedRatings", |  |     0x8828: "OECF", |  |     0x8829: "Interlace", |  |     0x882a: "TimeZoneOffset", |  |     0x882b: "SelfTimerMode", |  |     0x9000: "ExifVersion", |  |     0x9003: "DateTimeOriginal", |  |     0x9004: "DateTimeDigitized", |  |     0x9101: "ComponentsConfiguration", |  |     0x9102: "CompressedBitsPerPixel", |  |     0x9201: "ShutterSpeedValue", |  |     0x9202: "ApertureValue", |  |     0x9203: "BrightnessValue", |  |     0x9204: "ExposureBiasValue", |  |     0x9205: "MaxApertureValue", |  |     0x9206: "SubjectDistance", |  |     0x9207: "MeteringMode", |  |     0x9208: "LightSource", |  |     0x9209: "Flash", |  |     0x920a: "FocalLength", |  |     0x920b: "FlashEnergy", |  |     0x920c: "SpatialFrequencyResponse", |  |     0x920d: "Noise", |  |     0x9211: "ImageNumber", |  |     0x9212: "SecurityClassification", |  |     0x9213: "ImageHistory", |  |     0x9214: "SubjectLocation", |  |     0x9215: "ExposureIndex", |  |     0x9216: "TIFF/EPStandardID", |  |     0x927c: "MakerNote", |  |     0x9286: "UserComment", |  |     0x9290: "SubsecTime", |  |     0x9291: "SubsecTimeOriginal", |  |     0x9292: "SubsecTimeDigitized", |  |     0xa000: "FlashPixVersion", |  |     0xa001: "ColorSpace", |  |     0xa002: "ExifImageWidth", |  |     0xa003: "ExifImageHeight", |  |     0xa004: "RelatedSoundFile", |  |     0xa005: "ExifInteroperabilityOffset", |  |     0xa20b: "FlashEnergy", |  |     0xa20c: "SpatialFrequencyResponse", |  |     0xa20e: "FocalPlaneXResolution", |  |     0xa20f: "FocalPlaneYResolution", |  |     0xa210: "FocalPlaneResolutionUnit", |  |     0xa214: "SubjectLocation", |  |     0xa215: "ExposureIndex", |  |     0xa217: "SensingMethod", |  |     0xa300: "FileSource", |  |     0xa301: "SceneType", |  |     0xa302: "CFAPattern", |  |   |  | } |  |   |  | ## |  | # Maps EXIF GSP tags to tag names. |  |   |  | GPSTAGS = { |  |     0: "GPSVersionID", |  |     1: "GPSLatitudeRef", |  |     2: "GPSLatitude", |  |     3: "GPSLongitudeRef", |  |     4: "GPSLongitude", |  |     5: "GPSAltitudeRef", |  |     6: "GPSAltitude", |  |     7: "GPSTimeStamp", |  |     8: "GPSSatellites", |  |     9: "GPSStatus", |  |     10: "GPSMeasureMode", |  |     11: "GPSDOP", |  |     12: "GPSSpeedRef", |  |     13: "GPSSpeed", |  |     14: "GPSTrackRef", |  |     15: "GPSTrack", |  |     16: "GPSImgDirectionRef", |  |     17: "GPSImgDirection", |  |     18: "GPSMapDatum", |  |     19: "GPSDestLatitudeRef", |  |     20: "GPSDestLatitude", |  |     21: "GPSDestLongitudeRef", |  |     22: "GPSDestLongitude", |  |     23: "GPSDestBearingRef", |  |     24: "GPSDestBearing", |  |     25: "GPSDestDistanceRef", |  |     26: "GPSDestDistance" |  | } | 
 |