我有两个文件,它们曾经是相同的,但其中一个文件使用 Windows 上的 Windows 照片查看器进行了旋转。我们将它们称为原始图像和旋转后的图像。这幅图像的逻辑表示是肖像。
原始图像的宽度为 5184,高度为 3456(文件属性中的图像选项卡报告),因此它是一张风景图像。
旋转后的图像显然宽度为 3456,高度为 5184,因此它是一张肖像图像。
然而,当我在 Ubuntu 上打开这两个文件中的任何一个时,它们都会在 Image Viewer 中以纵向模式显示,我无法理解为什么会发生这种情况。Image Viewer 如何知道哪种方式才是观察此图像的合理方式?
编辑:Ubuntu 似乎也知道图片中的上方在哪里,因为缩略图也根据宽度和高度值正确表示。
答案1
图像文件中可能嵌入有元信息,提供有关图像方向的线索。
Ubuntu 的图片查看器将根据此元数据自动软旋转它们。Windows 照片查看器有传统上忽略了这些信息。
这可能会导致意想不到的结果。一个程序可能会遵循方向并旋转以供查看,而其他程序可能不会。
Exif Orientation 属性可以有 8 个值中的 1 个。图像方向可能还有其他方案/元数据表示。相机可以在拍摄时嵌入此信息。
我发现 Imagemagick 很适合用来读取这些元数据。还有其他元数据查看器可用。您也许可以在照片/图像查看程序中显示这些嵌入的属性(查找图像属性)。
使用 Imagemagick 查看:
$ sudo apt-get install imagemagick
$ identify -verbose /path/to/image.file
答案2
有一些元数据与特定图像相关联,它们会告诉图像查看器您的图像应以哪个方向显示。要查看更多信息,请转到终端并输入
less /path/to/your/image.jpg
答案3
谢谢你们的回答,虽然它们很有帮助,但我找到了确定为什么会发生这种情况的最简单方法。
使用默认图像查看器,我右键单击图像 ->特性->细节标签 -> 展开图像数据群组 >方向. 这些元数据告诉查看者和 Ubuntu 如何查看图片。
这之所以可能,是因为相机有一个加速度计,可以判断哪个方向是向上的,并将其作为元数据保存在文件中。Windows 照片查看器不知道如何处理这些元数据,因此会忽略它,因此需要旋转,这会修改原始数据,以便正确查看。