当前位置: 首页>>技术教程>>正文


从终端旋转图像

, , ,

问题描述

我有一个包含大量图像的目录,但它们的方向错误。我想旋转图像以纠正方向(主要是 \xb190o)。使用图像(shotwell 照片)查看器,我可以通过单击旋转按钮单独旋转它们,但这太乏味了。

我查看了 man shotwellshotwell --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

第四种方法

我是这样做的:

  1. 安装 gThumb

    \n

     sudo apt-get install gthumb\n

    \n

  2. 打开 nautilus 并转到您的图像目录。右键单击其中一个并选择 Open with -> gthumb 。\n

  3. view 菜单下选择 Browser 或按 Esc 键。这将打开目录浏览器,显示所有图像。\n\n

  4. Ctrl 并选择要旋转的图像,或通过 Ctrl + A 选择所有图像。\n

  5. 在工具栏上,选择 Tools,然后根据您的偏好选择 Rotate RightRotate Left。\n\n

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/13905.html,未经允许,请勿转载。