JPEG—JPEG JFIF文件格式

司机简称

JPEG

生成依赖项

(提供内部libjpeg)

JPEG JFIF格式支持读取和批处理写入,但不支持就地更新。JPEG文件表示为一个带(灰度)或三个带(RGB)的数据集,这些数据集具有字节值带。

驱动程序将自动将颜色空间为YCbCr、CMYK或YCbCrK的图像转换为RGB,除非将GDAL_JPEG_to_RGB设置为“否”(默认为“是”)。当颜色空间转换为RGB时,源颜色空间在图像结构域的源颜色空间元数据中指示。

EXIF元数据可以从JPEG文件中读取(但即使设置了EXIF_GPSLatitude和EXIF_GPSLongitude标记,也不会导致地理参考图像)。但是,如果存在后缀为.jgw、.jpgw/.jpegw或.wld的ESRI world文件,则将读取该文件并用于建立图像的地理变换。如果可用,MapInfo.tab文件也将用于地理参考。概述可以作为外部.ovr文件为JPEG文件构建。

驱动程序还支持“附加到文件的zlib压缩掩码”方法,少数数据提供程序使用该方法添加位掩码来标识无效数据的像素。见 RFC 15:带屏蔽 更多详情。

驱动程序可以处理位掩码,其中位以最高有效位优先(而通常的约定是最低有效位优先)。驱动程序将尝试自动检测这种情况,但启发式可能会失败。在这种情况下,可以将JPEGu MASKu BITu ORDER配置选项设置为MSB。指定不可完全忽略bitu的掩码。

The GDAL JPEG Driver is built using the Independent JPEG Group's jpeg library. Also note that the GeoTIFF driver supports tiled TIFF with JPEG compressed tiles. This can be used to apply JPEG compression to datasets that exceed the maximum dimensions of 65,535x65,535 pixels for a single JPEG image.

还可以将JPEG驱动程序与libjpeg turbo一起使用,libjpeg、API和ABI的版本与IJG libjpeg-6b兼容,IJG libjpeg-6b使用MMX、SSE和SSE2 SIMD指令来加速基准JPEG压缩/解压缩。

Starting with GDAL 3.4, read and write support for JPEG images with 12-bit sample is enabled by default (if JPEG support is also enabled), using GDAL internal libjpeg (based on IJG libjpeg-6b, with additional changes for 12-bit sample support). Support for JPEG with 12-bit sample is independent of whether 8-bit JPEG support is enabled through internal IJG libjpeg-6b or external libjpeg (like libjpeg-turbo)

XMP元数据可以从文件中提取,并作为XML原始内容存储在XML:XMP元数据域中。

嵌入的EXIF缩略图(使用JPEG压缩)可以用作概述,并由GDAL生成。

驱动程序功能

Supports CreateCopy()

This driver supports the GDALDriver::CreateCopy() operation

Supports Georeferencing

This driver supports georeferencing

Supports VirtualIO

This driver supports virtual I/O operations (/vsimem/, etc.)

颜色配置文件元数据

GDAL可以处理颜色配置文件域中的以下颜色配置文件元数据:

  • 源ICC配置文件(文件中嵌入Base64编码的ICC配置文件。)

请注意,此元数据属性只能用于原始像素数据。如果已自动转换为RGB,则无法使用颜色配置文件信息。

此元数据标记可以用作创建选项。

错误管理

在解码时,libjpeg对JPEG数据流中的一些错误具有弹性,并将尽可能地从中恢复。此类错误将报告为GDAL警告,但也可以通过将GDALu ERRORu ON u LIBJPEGu WARNING configuration选项设置为true,将其视为true错误。

创建选项

JPEG files are created using the "JPEG" driver code. Only Byte band types are supported.

Only 1 (greyscale), 3 band (input should be in RGB colorspace. the driver will convert it automatically to YCbCr colorspace for storage, and will expose it back as RGB on reading) or 4 band (input should already by in CMYK colorspace. It will be exposed as RGB on reading by default, unless the GDAL_JPEG_TO_RGB configuration option is set to NO) configurations.

JPEG file creation is implemented by the batch (CreateCopy) method. YCbCrK colorspace is not supported in creation. If the source dataset has a nodata mask, it will be appended as a zlib compressed mask to the JPEG file.

  • WORLDFILE=YES :强制生成关联的ESRI world文件(扩展名为.wld)。

  • QUALITY=n :默认情况下,质量标志设置为75,但此选项可用于选择其他值。值必须在10-100之间。值越低,压缩比越高,但图像质量越差。95以上的值并不是意味着更好的质量,但可以大得多。

  • PROGRESSIVE=ON :已启用生成渐进式JPEG。在某些情况下,在下载完整文件之前,这些文件将在Netscape和Internet Explorer等查看器中显示分辨率降低的图像。但是,有些应用程序根本无法读取渐进式jpeg。GDAL可以读取渐进式jpeg,但不利用其渐进性。

  • INTERNAL_MASK=YES/NO :默认情况下,如果需要,将写入“zlib压缩掩码附加到文件”方法中的内部掩码,以标识不是有效数据的像素。通过将此选项设置为“否”,可以禁用此选项。

  • ARITHMETIC=YES/NO :启用算术编码。由于可能的法律限制,未在所有libjpeg版本中启用。

  • BLOCK=1...16 :(libjpeg>=8c)DCT块大小。1到16之间的所有值都是可能的。默认值为8(基线格式)。8以外的值将生成与libjpeg 8c之前的版本不兼容的文件。

  • COLOR_TRANSFORM=RGB or RGB1 :(libjpeg>=9)。为无损RGB设置为RGB1。注意:这将产生与libjpeg 9之前的版本不兼容的文件。

  • SOURCE_ICC_PROFILE=value :用Base64编码的ICC配置文件。

  • COMMENT=string :要嵌入注释JPEG标记的字符串。读取时,这些字符串将在注释元数据项中公开。

  • EXIF_THUMBNAIL=YES/NO :是否生成EXIF缩略图(概述),它本身是JPEG压缩的。默认为“否”。如果启用,则缩略图的最大尺寸将为128(如果未指定缩略图宽度和缩略图高度)。

  • THUMBNAIL_WIDTH=n :缩略图的宽度。仅当EXIFu THUMBNAIL=YES时才考虑。

  • THUMBNAIL_HEIGHT=n :缩略图的高度。仅当EXIFu THUMBNAIL=YES时才考虑。

  • WRITE_EXIF_METADATA=YES/NO :(从GDAL 2.3开始)。是否在EXIF段中写入EXIF_xxxx元数据项。默认为“是”。

EXIF和GPS标签

下表列出了可以写入的EXIF和GPS标签。

  • “元数据项名称”列显示要附加到源数据集的元数据项的名称。

  • “十六进制代码”列是相应TIFF EXIF/GPS标记的值(仅供参考)

  • “类型”列是关联的TIFF类型。
    • ASCII用于以NUL结尾的文本值(对于固定长度的标记,长度包括这个以NUL结尾的字符)。e、 g EXIF_Make=品牌

    • BYTE/UNDEFINED用于可以由任何字节值构成的值。对应的GDAL元数据项的值必须是十六进制格式的值字符串,例如EXIF_GPSVersionID=0x02 0x00 0x00 0x00。GDAL还接受ASCII字符串:例如EXIF_ExifVersion=0231

    • SHORT表示范围内的无符号整数值 [065535号] . 某些标记可能接受多个值,在这种情况下,它们必须用空格分隔。

    • LONG表示范围内的无符号整数值 [04294967295] . 某些标记可能接受多个值,在这种情况下,它们必须用空格分隔。

    • RATIONAL表示正浮点值。某些标记可能接受多个值,在这种情况下,它们必须用空格分隔。e、 g出口=49 2 3.5

    • SRATIONAL用于正浮点数或负浮点数。某些标记可能接受多个值,在这种情况下,它们必须用空格分隔。

    当一个项接受固定数量的值并且提供了更多的值时,它们将被截断并发出警告。如果提供的值小于所需的值,则用适当的空格/零填充

  • The "Number of values" column is the number of values for the item. Might be "variable" if there is no restriction, or a fixed value. For Type=ASCII, the fixed value includes the NUL-terminating byte, so the number of actual printable characters is number of values - 1.

  • “可选性”列指示项目是否应存在(“强制”),是“推荐”还是“可选”。GDAL 没有强制执行这一点。

许多项目对下表中未表示的有效内容有更多限制。有关更多信息,请参阅EXIF规范。

元数据项名称

十六进制代码

类型

值的数目

可选性

EXIF_Document_Name

0x010D型

ASCII

变量

可选的

EXIF_ImageDescription

0x010E型

ASCII

变量

推荐

EXIF_Make

0x010F型

ASCII

变量

推荐

EXIF_Model

0x0110号

ASCII

变量

推荐

EXIF_Orientation

0x0112号

SHORT

1

推荐

EXIF_XResolution

0x011A号

RATIONAL

1

Mandatory

EXIF_YResolution

0x011B号

RATIONAL

1

Mandatory

EXIF_ResolutionUnit

0x0128号

SHORT

1

Mandatory

EXIF_TransferFunction

0x012D号

SHORT

768

可选的

EXIF_Software

0x0131号

ASCII

变量

可选的

EXIF_DateTime

0x0132号

ASCII

20

推荐

EXIF_Artist

0x013B型

ASCII

变量

可选的

EXIF_WhitePoint

0x013E号

RATIONAL

2

可选的

EXIF_PrimaryChromaticities

0x013F型

RATIONAL

6

可选的

EXIF_YCbCrCoefficients

0x0211号

RATIONAL

3

可选的

EXIF_YCbCrPositioning

0x0213号

SHORT

1

Mandatory

EXIF_ReferenceBlackWhite

0x0214号

RATIONAL

6

可选的

EXIF_Copyright

0x8298个

ASCII

变量

可选的

EXIF_ExposureTime

0x829A型

RATIONAL

1

推荐

EXIF_FNumber

0x829D型

RATIONAL

1

可选的

EXIF_ExposureProgram

0x8822个

SHORT

1

可选的

EXIF_SpectralSensitivity

0x8824个

ASCII

变量

可选的

EXIF_ISOSpeedRatings

0x8827个

SHORT

变量

可选的

EXIF_OECF

0x8828个

UNDEFINED

变量

可选的

EXIF_SensitivityType

0x8830个

SHORT

1

可选的

EXIF_StandardOutputSensitivity

0x8831号

LONG

1

可选的

EXIF_RecommendedExposureIndex

0x8832个

LONG

1

可选的

EXIF_ISOSpeed

0x8833个

LONG

1

可选的

EXIF_ISOSpeedLatitudeyyy

0x8834个

LONG

1

可选的

EXIF_ISOSpeedLatitudezzz

0x8835个

LONG

1

可选的

EXIF_ExifVersion

0x9000个

UNDEFINED

4

Mandatory

EXIF_DateTimeOriginal

0x9003个

ASCII

20

可选的

EXIF_DateTimeDigitized

0x9004个

ASCII

20

可选的

EXIF_OffsetTime

0x9010个

ASCII

7

可选的

EXIF_OffsetTimeOriginal

0x9011号

ASCII

7

可选的

EXIF_OffsetTimeDigitized

0x9012个

ASCII

7

可选的

EXIF_ComponentsConfiguration

0x9101号

UNDEFINED

4

Mandatory

EXIF_CompressedBitsPerPixel

0x9102个

RATIONAL

1

可选的

EXIF_ShutterSpeedValue

0x9201个

SRATIONAL

1

可选的

EXIF_ApertureValue

0x9202个

RATIONAL

1

可选的

EXIF_BrightnessValue

0x9203个

SRATIONAL

1

可选的

EXIF_ExposureBiasValue

0x9204个

SRATIONAL

1

可选的

EXIF_MaxApertureValue

0x9205个

RATIONAL

1

可选的

EXIF_SubjectDistance

0x9206个

RATIONAL

1

可选的

EXIF_MeteringMode

0x9207个

SHORT

1

可选的

EXIF_LightSource

0x9208个

SHORT

1

可选的

EXIF_Flash

0x9209个

SHORT

1

推荐

EXIF_FocalLength

0x920A

RATIONAL

1

可选的

EXIF_SubjectArea

0x9214号

SHORT

变量

可选的

EXIF_MakerNote

0x927C

UNDEFINED

变量

可选的

EXIF_UserComment

0x9286号

UNDEFINED

变量

可选的

EXIF_SubSecTime

0x9290个

ASCII

变量

可选的

EXIF_SubSecTime_Original

0x9291号

ASCII

变量

可选的

EXIF_SubSecTime_Digitized

0x9292个

ASCII

变量

可选的

EXIF_FlashpixVersion

0xA000个

UNDEFINED

4

Mandatory

EXIF_ColorSpace

0xA001号

SHORT

1

Mandatory

EXIF_PixelXDimension

0xA002号

LONG

1

Mandatory

EXIF_PixelYDimension

0xA003号

LONG

1

Mandatory

EXIF_RelatedSoundFile

0xA004号

ASCII

13

可选的

EXIF_FlashEnergy

0xA20B

RATIONAL

1

可选的

EXIF_SpatialFrequencyResponse

0xA20C

UNDEFINED

变量

可选的

EXIF_FocalPlaneXResolution

0xA20E型

RATIONAL

1

可选的

EXIF_FocalPlaneYResolution

0xA20F

RATIONAL

1

可选的

EXIF_FocalPlaneResolutionUnit

0xA210型

SHORT

1

可选的

EXIF_SubjectLocation

0xA214型

SHORT

2

可选的

EXIF_ExposureIndex

0xA215型

RATIONAL

1

可选的

EXIF_SensingMethod

0xA217号

SHORT

1

可选的

EXIF_FileSource

0xA300型

UNDEFINED

1

可选的

EXIF_SceneType

0xA301型

UNDEFINED

1

可选的

EXIF_CFAPattern

0xA302型

UNDEFINED

变量

可选的

EXIF_CustomRendered

0xA401型

SHORT

1

可选的

EXIF_ExposureMode

0xA402号

SHORT

1

推荐

EXIF_WhiteBalance

0xA403号

SHORT

1

推荐

EXIF_DigitalZoomRatio

0xA404

RATIONAL

1

可选的

EXIF_FocalLengthIn35mmFilm

0xA405型

SHORT

1

可选的

EXIF_SceneCaptureType

0xA406型

SHORT

1

推荐

EXIF_GainControl

0xA407号

RATIONAL

1

可选的

EXIF_Contrast

0xA408

SHORT

1

可选的

EXIF_Saturation

0xA409型

SHORT

1

可选的

EXIF_Sharpness

0xA40A型

SHORT

1

可选的

EXIF_DeviceSettingDescription

0xA40B型

UNDEFINED

变量

可选的

EXIF_SubjectDistanceRange

0xA40C型

SHORT

1

可选的

EXIF_ImageUniqueID

0xA420型

ASCII

33

可选的

EXIF_CameraOwnerName

0xA430型

ASCII

变量

可选的

EXIF_BodySerialNumber

0xA431号

ASCII

变量

可选的

EXIF_LensSpecification

0xA432

RATIONAL

4

可选的

EXIF_LensMake

0xA433号

ASCII

变量

可选的

EXIF_LensModel

0xA434型

ASCII

变量

可选的

EXIF_LensSerialNumber

0xA435号

ASCII

变量

可选的

GPS标签:

元数据项名称

十六进制代码

类型

值的数目

可选性

EXIF_GPSVersionID

0x0000个

BYTE

4

可选的

EXIF_GPSLatitudeRef

0x0001号

ASCII

2

可选的

EXIF_GPSLatitude

0x0002个

RATIONAL

3

可选的

EXIF_GPSLongitudeRef

0x0003个

ASCII

2

可选的

EXIF_GPSLongitude

0x0004个

RATIONAL

3

可选的

EXIF_GPSAltitudeRef

0x0005个

BYTE

1

可选的

EXIF_GPSAltitude

0x0006个

RATIONAL

1

可选的

EXIF_GPSTimeStamp

0x0007个

RATIONAL

3

可选的

EXIF_GPSSatellites

0x0008个

ASCII

变量

可选的

EXIF_GPSStatus

0x0009个

ASCII

2

可选的

EXIF_GPSMeasureMode

0x000A

ASCII

2

可选的

EXIF_GPSDOP

0x000B

RATIONAL

1

可选的

EXIF_GPSSpeedRef

0x000摄氏度

ASCII

2

可选的

EXIF_GPSSpeed

0x000D个

RATIONAL

1

可选的

EXIF_GPSTrackRef

0x000E号

ASCII

2

可选的

EXIF_GPSTrack

0x000华氏度

RATIONAL

1

可选的

EXIF_GPSImgDirectionRef

0x0010号

ASCII

2

可选的

EXIF_GPSImgDirection

0x0011号

RATIONAL

1

可选的

EXIF_GPSMapDatum

0x0012号

ASCII

变量

可选的

EXIF_GPSDestLatitudeRef

0x0013号

ASCII

2

可选的

EXIF_GPSDestLatitude

0x0014号

RATIONAL

3

可选的

EXIF_GPSDestLongitudeRef

0x0015号

ASCII

2

可选的

EXIF_GPSDestLongitude

0x0016号

RATIONAL

3

可选的

EXIF_GPSDestBearingRef

0x0017号

ASCII

2

可选的

EXIF_GPSDestBearing

0x0018号

RATIONAL

1

可选的

EXIF_GPSDestDistanceRef

0x0019号

ASCII

2

可选的

EXIF_GPSDestDistance

0x001A

RATIONAL

1

可选的

EXIF_GPSProcessingMethod

0x001B型

UNDEFINED

变量

可选的

EXIF_GPSAreaInformation

0x001C号

UNDEFINED

变量

可选的

EXIF_GPSDateStamp

0x001D号

ASCII

11

可选的

EXIF_GPSDifferential

0x001E型

SHORT

1

可选的

EXIF_GPSHPositioningError

0x001F型

RATIONAL

1

可选的

FLIR metadata

3.3 新版功能.

Metadata encoded according to the FLIR convention (infrared images) is available in the FLIR metadata domain.

Metadata from the following sections is supported:

  • Header

  • RawData

  • CameraInfo

  • PaletteInfo

  • GPSInfo

Consult https://exiftool.org/TagNames/FLIR.html for details.

The thermal image data, stored either as raw data or in PNG, is exposed as a GDAL subdataset whose name is JPEG:"filename.jpg":FLIR_RAW_THERMAL_IMAGE

也见