从终端旋转图像

pra*_*phy 52 command-line shotwell scripts image-processing

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

我看了看man shotwell,并shotwell --help-all但没有什么解释如何从命令行调用旋转命令。

有什么方法可以从终端调用shotwell(或任何其他查看器)的旋转命令?或者任何其他旋转图像的方法也是受欢迎的。

Fab*_*bby 60

如果您正在寻找纯 bash 实现,ImageMagick 的convert命令就是您要寻找的:

for szFile in /path/*.png
do 
    convert "$szFile" -rotate 90 /tmp/"$(basename "$szFile")" ; 
done
Run Code Online (Sandbox Code Playgroud)

以上将保持现有文件完好无损并将新旋转的文件复制到,/tmp以便您可以将它们移动或复制到其他地方,甚至在转换和验证后替换现有文件

(并且它适用于所有最新版本的 Ubuntu,因为它是标准软件)


nut*_*tty 39

for file in *.JPG; do convert $file -rotate 90 rotated-$file; done
Run Code Online (Sandbox Code Playgroud)

这将复制-旋转-并重命名您的文件。

如果您想暂时保留原始文件,此方法可能适合您...

请注意,这是区分大小写的:如果您的文件名为 *.jpg,请相应地替换为小写(或 *.png ...)。


krl*_*mlr 12

如果你想就地覆盖,mogrify从 ImageMagick 套件似乎是实现这一目标的最简单方法:

# counterclockwise:
mogrify -rotate -90 *.jpg

# clockwise:
mogrify -rotate 90 *.jpg
Run Code Online (Sandbox Code Playgroud)

注意:这不是 JPEG 文件的无损旋转方法,https : //www.imagemagick.org/discourse-server/viewtopic.php?t=5899jpegtran实现这一点(未经测试):

# counterclockwise
ls *.jpg | xargs -n 1 jpegtran -perfect -rotate 270

# clockwise
ls *.jpg | xargs -n 1 jpegtran -perfect -rotate 90
Run Code Online (Sandbox Code Playgroud)


Par*_*rto 5

这是我的方法:

  1. 安装 gThumb

     sudo apt-get install gthumb
    
    Run Code Online (Sandbox Code Playgroud)
  2. 打开 nautilus 并转到您的图像目录。右键单击一个并选择Open with -> gthumb

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

    在此处输入图片说明

  4. 按下Ctrl并选择要旋转的图像或通过Ctrl+选择所有图像A

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

    在此处输入图片说明