答案1
是否有一个简单的 Linux 图像编辑器,允许缩放和旋转图像而无需使用 EXIF 数据进行缩放和旋转?
储蓄与出口
我知道你说你不想在 GIMP 中这样做,但根据我的经验,你遇到的问题——软件偏向于 EXIF 方向数据而不是实际转换图像中的像素——归结为以下两者之间的差异:出口图像和保存一个图像。
过去,世界上 100% 的所有图像编辑器在处理简单的方向变换时都会实际变换/修改像素。直到最近,图像编辑程序才开始使用 EXIF 数据来存储一些物理变换数据。
为什么?很简单。由于 JPEG 格式是一种有损格式(即使质量设置为 100%),因此重新保存 JPEG 以进行诸如图像旋转之类的简单操作会慢慢降低数据质量。相比之下,通过将数据存储为 EXIF 信息,原始 JPEG 图像保持不变,但转换数据会传递,因此您可以看到旋转后的图像,而不会在此过程中降低图像质量。
这就是导出概念发挥作用的地方。许多图像编辑程序例如 GIMP 允许导出图像这基本上意味着修改图像数据本身并对其进行优化以供非图像编辑软件使用。
因此,虽然可能还有其他软件工具可以明确修改图像数据以执行旋转等任务,但安装和使用它们可能有点大材小用。相反,我建议只是在您使用的任何图像编辑软件中尝试导出功能;无论是 GIMP、Photoshop 还是其他软件。
批量处理
尽管如此,你确实提到了 GIMP 可能太耗时,无法满足你的需求。不清楚你的具体工作流程是什么,但如果你的文件夹/目录中充满了你可能需要处理的 JPEG,我建议调查另一个答案中提到的工具:
- 埃西夫兰:用于转换数码相机 JPEG 图像的工具,可以执行以下操作:
它可以像 jpegtran 一样进行无损旋转,但与 jpegtran 不同的是,它关心 EXIF 数据:它可以通过检查 exif 方向标签自动旋转图像,如果需要,它会更新 exif 信息(图像尺寸、方向),它还会旋转 exif 缩略图。它可以一次处理多幅图像。
- 杰海德:具体使用如下描述的选项
jhead
:-autorot
使用 Exif 标头的“方向”标签,旋转图像使其直立。程序“jpegtran”用于执行旋转。大多数 Linux 发行版中都有此程序。对于 Windows,您需要获取它的副本。旋转后,Exif 标头的方向标签设置为“1”(正常方向)。Exif 缩略图也会旋转。Exif 标头的其他字段(包括尺寸)保持不变,但 JPEG 高度/宽度会进行调整。
此功能对于较新的数码相机尤其有用,它使用相机内置的方向传感器自动设置 Exif 标头中的方向字段。
这是另一个提到的工具另一个线程:
- 转换:NConvert 是适用于 Win32、Linux、DOS、OS/2 和其他平台的多格式命令行图像转换器。快速入门详细信息似乎在这里。而且看起来,如果您使用
nconvert
选项-jpegtrans
,那正是您要找的。但我想知道这是否只是使用相同的库/核心功能jpegtran
作为另一个答案对这个问题有推荐吗?
最后,或许可以使用图像魔术师 convert
工具与-auto-orient
选项对你有用吗?
-自动定向
调整图像使得其方向适合查看(即左上角方向)。
该操作员读取并重置 EXIF 图像配置文件设置“方向”,然后对图像执行适当的 90 度旋转以确定图像方向,以便正确查看。
此 EXIF 配置文件设置通常使用数码相机中的重力传感器进行设置,但是直接向下或向上拍摄的照片可能没有合适的值。此外,在未重置此设置的情况下已“校正”方向的图像可能会再次“校正”,从而导致结果不正确。如果 EXIF 配置文件先前已被剥离,则 -auto-orient 运算符将不执行任何操作。
答案2
我通常使用jpegtran
旋转照片:
jpegtran -copy all -rotate 90 -outfile newimg.jpg oldimg.jpg
向右旋转 90 度,向左旋转 270 度(翻转 180 度)。
答案3
在 GIMP 中导出时,您可以在保存之前在弹出窗口中单击“高级”,在其中可以禁用 EXIF 和 XMP。
编写脚本的总体算法:
- 对于每个文件。
- 从 保存值
exiftool * | grep Orientation
。 - 使用 删除 exif
exiftran -ai *
。 - 使用
convert -rotate
步骤 2 中的值。