Jpeg图片旋转和Exif方向

本文翻译自:https://www.impulseadventure.com/photo/exif-orientation.html 。

不了解Exif的同学建议先看一下维基百科Exif 。

带方向传感器的数码相机允许自动旋转肖像图像。不幸的是,对此功能的支持并不普遍或一致地应用。

带定向传感器的数码相机

许多较新的数码相机(包括dSLR和Point&Shoot数码相机)都配有内置方向传感器。几乎所有佳能和尼康数码相机都有一个方向传感器。此传感器的输出用于在图像文件的元数据中设置EXIF方向标记,以反映相机相对于地面的位置。佳能将其传感器称为“智能定位”传感器。它可能是一个2轴倾斜传感器,允许检测4种可能的方向(如下图左侧所示)。

Jpeg图片旋转和Exif方向_第1张图片

从下图可以看到以前的方向图像:

Jpeg图片旋转和Exif方向_第2张图片

请注意,人们只能期望左侧显示的四个方向设置可以使用数码相机。其他四个设置意味着在录制之前水平翻转所得到的图像。除非相机从右到左对图像进行编码或者知道你正在镜子中拍照,否则我看不出这些值是如何使用的。

对于以下讨论,理解无损旋转背后的概念可能会有所帮助。

值1-8表示以下描述(如支持EXIF字段解码的实用程序所示):

EXIF定位价值 第0行是: 第0列是:
1 最佳 左边
2* 最佳 右边
3 底部 右边
4* 底部 左边
5* 左边 最佳
6 右边 最佳
7* 右边 底部
8 左边 底部

注意:带有“*”的值不常见,因为它们代表“翻转”方向。

数码相机中的自动旋转

虽然您的数码相机可能包含由于相机方向而“自动旋转图像”的选项,但这几乎总是“虚拟旋转”。设置标志以向观看软件/ LCD预览指示在显示之前旋转图像的方式,而不是旋转图像内容本身。

由于无损图像旋转是一项计算密集型操作,因此数码相机在拍摄照片后不太可能包含真正的无损旋转。CCD / CMOS传感器硬件设计用于在特定方向上传输原始数据(例如行然后是列),因此可能很难在相机中加入真正的自动旋转而不会对连续拍摄产生性能影响(每秒帧数) 。

方向的软件支持

虽然目前有无数的软件程序可以显示JPEG图像,但只有它们的一部分实际上解释了EXIF Orientation标志。就像颜色管理一样,许多程序只是在存储时显示JPEG图像,并完全忽略存储在文件元数据中的任何额外细节。这些附加细节中最重要的是Orientation标志,存储在EXIF IFD0下的JPEG APP1标记中。

应用 方向支持?
Windows照片查看器(Windows 7) 没有
Windows图片和传真查看器(Windows XP) 没有
IrfanView的 是(需要启用)
Photoshop中

IrfanView自动旋转

在IrfanView中,默认情况下不启用自动旋转。为确保图像自动旋转,您可以在JPG / PCD / GIF选项卡的选项- >属性下找到该选项。

Jpeg图片旋转和Exif方向_第3张图片

Windows图片和传真查看器

令人惊讶的是,Windows图片和传真查看器(内置于Windows XP中)和Windows Photo Viewer(内置于Windows 7中)不支持EXIF方向标志。这是令人惊讶的,因为制造商显然已经足够支持无损旋转功能。因此,您将看到的观察者显示的是真实的图像数据(假设横向),而不考虑相机对图像的真实方向的任何指示。

小心在Windows图片/照片查看器中旋转照片!

另一个令人惊讶的细节是,如果您决定执行无损图像旋转(通过使用“顺时针旋转”或“旋转CounterClockwise”按钮),EXIF方向标记将被删除!当标志被移除/重置时,如果您在纵向照片上进行旋转然后反向旋转(例如,顺时针旋转,然后逆时针旋转),其他观看者(如Photoshop)观察到的最终方向将是错误的!

实际上,当您使用Windows Picutre Viewer的旋转功能时,大多数图像元数据(摄像机信息,镜头详细信息,制作者注释等)都将被删除。因此,我强烈建议您不要使用此程序来旋转任何数码照片。

我还注意到一些旋转的图像不符合16x16像素倍数,量化表似乎没有正确旋转。

由于许多新的数码摄影师可能都没有意识到这一点,尼康甚至发布了一份新闻稿,以警告潜在的危险。

注意:只要按下其中一个旋转按钮,就会完成损坏旋转。磁盘图标复制仅用于复制文件,不应将其视为“保存”按钮!
下表详细介绍了Windows图片和传真查看器损坏/修改的一些元数据:

删除 添加 改性
IFD0取向 IFD0-x1001/IFD0-x1002/IFD0-xA401/IFD0-xA402/IFD0-xA403
SubIFD-ExifInteroperabilityOffset/SubIFD-CustomRendered/SubIFD-ExposureMode/SubIFD-WhiteBalance/SubIFD-SceneCaptureType SubIFD-Maker注意SubIFD-UserComment
MakerNotes:几乎所有字段都清零,除了:SerialNumber,ImageNumber

请注意,通常,大多数图像编辑器(如Photoshop,Lightroom和许多其他图像编辑器)不会无损地旋转图像。保存功能提供压缩质量选项(例如1-12,高,低等),因此将[有损] JPEG重新压缩应用于图像内容。

自动旋转实用程序

有几种工具可以根据存储在EXIF方向标志中的信息,在软件中无损地旋转图像内容。到目前为止,执行此操作的最佳时间是在图像导入期间(例如,从存储卡)。大多数导入应用程序(例如DownloaderPro)可以在复制操作期间(从存储卡到硬盘驱动器)执行此操作。这样做可确保所有程序都能正确旋转图像,而不必依赖EXIF Orientation标志。这意味着即使是Microsoft的Windows图片和传真查看器等程序也会为纵向/垂直图像显示正确的方向。

大多数程序将旋转图像内容,然后更新Orientation标志以反映新方向(通常值为1),同时仍保留其他元数据。

你可能感兴趣的:(JavaScript,翻译,web开发录)