问题描述
我有一个包含大量图像的目录,但它们的方向错误。我想旋转图像以纠正方向(主要是 \xb190o)。使用图像(shotwell 照片)查看器,我可以通过单击旋转按钮单独旋转它们,但这太乏味了。
我查看了 man shotwell
和 shotwell --help-all
,但没有任何内容解释如何从命令行调用旋转命令。
有什么方法可以从终端调用 shotwell (或任何其他查看器)的旋转命令?或者任何其他旋转图像的方法也受欢迎。
最佳方法
如果您正在寻找纯 bash 实现,那么 ImageMagick 的 convert
命令就是您正在寻找的:
for szFile in /path/*.png
do
convert "$szFile" -rotate 90 /tmp/"$(basename "$szFile")" ;
done
上述操作将保持现有文件不变,并将新旋转的文件复制到 /tmp
,以便您可以将它们移动或复制到其他位置,甚至在转换和验证后替换现有文件。
(它适用于 Ubuntu 的所有最新版本,因为它是标准软件)
次佳方法
for file in *.JPG; do convert $file -rotate 90 rotated-$file; done
这将 copy-rotate-and 重命名您的文件。
如果您想暂时保留原始文件不变,此方法可能很适合您……
请注意,这区分大小写:如果您的文件名为 *.jpg,请相应地替换为小写字母(或 *.png …)。
第三种方法
如果您想就地覆盖,ImageMagick 套件中的 mogrify
似乎是实现此目的的最简单方法:
# counterclockwise:
mogrify -rotate -90 *.jpg
# clockwise:
mogrify -rotate 90 *.jpg
注意:这不是 JPEG 文件 https://www.imagemagick.org/discourse-server/viewtopic.php?t=5899 的无损旋转方法。\n jpegtran
实现了这一点(未经测试):
# counterclockwise
ls *.jpg | xargs -n 1 jpegtran -perfect -rotate 270
# clockwise
ls *.jpg | xargs -n 1 jpegtran -perfect -rotate 90
第四种方法
我是这样做的:
-
安装 gThumb
\n
sudo apt-get install gthumb\n
\n
-
打开 nautilus 并转到您的图像目录。右键单击其中一个并选择
Open with -> gthumb
。\n -
在
view
菜单下选择Browser
或按Esc
键。这将打开目录浏览器,显示所有图像。\n\n -
按
Ctrl
并选择要旋转的图像,或通过Ctrl
+A
选择所有图像。\n -
在工具栏上,选择
Tools
,然后根据您的偏好选择Rotate Right
或Rotate Left
。\n\n