194 lines
5.1 KiB
Python
194 lines
5.1 KiB
Python
#
|
|
# 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
|
|
0x00fe: "NewSubfileType",
|
|
0x00ff: "SubfileType",
|
|
0x0100: "ImageWidth",
|
|
0x0101: "ImageLength",
|
|
0x0102: "BitsPerSample",
|
|
0x0103: "Compression",
|
|
0x0106: "PhotometricInterpretation",
|
|
0x0107: "Threshholding",
|
|
0x0108: "CellWidth",
|
|
0x0109: "CellLenght",
|
|
0x010a: "FillOrder",
|
|
0x010d: "DocumentName",
|
|
0x011d: "PageName",
|
|
0x010e: "ImageDescription",
|
|
0x010f: "Make",
|
|
0x0110: "Model",
|
|
0x0111: "StripOffsets",
|
|
0x0112: "Orientation",
|
|
0x0115: "SamplesPerPixel",
|
|
0x0116: "RowsPerStrip",
|
|
0x0117: "StripByteConunts",
|
|
0x0118: "MinSampleValue",
|
|
0x0119: "MaxSampleValue",
|
|
0x011a: "XResolution",
|
|
0x011b: "YResolution",
|
|
0x011c: "PlanarConfiguration",
|
|
0x0120: "FreeOffsets",
|
|
0x0121: "FreeByteCounts",
|
|
0x0122: "GrayResponseUnit",
|
|
0x0123: "GrayResponseCurve",
|
|
0x0128: "ResolutionUnit",
|
|
0x012d: "TransferFunction",
|
|
0x0131: "Software",
|
|
0x0132: "DateTime",
|
|
0x013b: "Artist",
|
|
0x013c: "HostComputer",
|
|
0x013e: "WhitePoint",
|
|
0x013f: "PrimaryChromaticities",
|
|
0x0140: "ColorMap",
|
|
0x0152: "ExtraSamples",
|
|
0x0201: "JpegIFOffset",
|
|
0x0202: "JpegIFByteCount",
|
|
0x0211: "YCbCrCoefficients",
|
|
0x0212: "YCbCrSubSampling",
|
|
0x0213: "YCbCrPositioning",
|
|
0x0214: "ReferenceBlackWhite",
|
|
0x1000: "RelatedImageFileFormat",
|
|
0x1001: "RelatedImageLength", # FIXME / Dictionary contains duplicate keys
|
|
0x1001: "RelatedImageWidth", # FIXME \ Dictionary contains duplicate keys
|
|
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",
|
|
0xa401: "CustomRendered",
|
|
0xa402: "ExposureMode",
|
|
0xa403: "WhiteBalance",
|
|
0xa404: "DigitalZoomRatio",
|
|
0xa405: "FocalLengthIn35mmFilm",
|
|
0xa406: "SceneCaptureType",
|
|
0xa407: "GainControl",
|
|
0xa408: "Contrast",
|
|
0xa409: "Saturation",
|
|
0xa40a: "Sharpness",
|
|
0xa40b: "DeviceSettingDescription",
|
|
0xa40c: "SubjectDistanceRange",
|
|
0xa420: "ImageUniqueID",
|
|
0xa430: "CameraOwnerName",
|
|
0xa431: "BodySerialNumber",
|
|
0xa432: "LensSpecification",
|
|
0xa433: "LensMake",
|
|
0xa434: "LensModel",
|
|
0xa435: "LensSerialNumber",
|
|
0xa500: "Gamma",
|
|
|
|
}
|
|
|
|
##
|
|
# Maps EXIF GPS 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",
|
|
27: "GPSProcessingMethod",
|
|
28: "GPSAreaInformation",
|
|
29: "GPSDateStamp",
|
|
30: "GPSDifferential",
|
|
31: "GPSHPositioningError",
|
|
}
|