【问题标题】:Split image and name each half分割图像并命名每一半
【发布时间】:2017-04-24 08:22:53
【问题描述】:

我有从立体相机拍摄的图像,我想将其分成左右两半。如果我这样做:

convert stereo0000.png -crop 50%x100% foo.png

我得到foo-0.pngfoo-1.png;我如何获得foo-left.pngfoo-right.png。如果我能做类似的事情,可以加分:

convert stereo*.png -crop 50%x100% foo-%d.png

然后得到foo-0left.pngfoo-0right.pngfoo-1left.pngfoo-1right.png等。就目前而言,这给了我stereo0000.png->(foo-0.pngfoo-1.png)、stereo0001.png-> (foo-2.png, foo-3.png),这没什么用。

理想情况下,解决方案只需调用convert 以获取通配符输入文件模式,因为我可以相对轻松地编写一个shell 脚本,在一次调用后重命名这对文件。

【问题讨论】:

    标签: linux imagemagick-convert


    【解决方案1】:

    RTFM 再进一步,我发现了这个可以接受的两线:

    convert stereo*.png -gravity East -crop 50%x100%+0+0 right%04d.png
    convert stereo*.png -gravity West -crop 50%x100%+0+0 left%04d.png
    

    这会将每个图像分成左右两个部分

    【讨论】:

      【解决方案2】:

      使用两个转换命令的速度是每个文件处理两次的两倍。

      因此,使用一个转换并重命名结果文件会更快:

      $ convert stereo*.png -crop 50%x100% foo-%01d.png
      $ mv foo-0.png foo-left.png
      $ mv foo-1.png foo-right.png
      

      【讨论】:

        【解决方案3】:

        在 bash 中,

        for i in screen*.png; do convert "$i" -gravity East -crop 50%x100%+0+0 "right_$i"; done
        for i in screen*.png; do convert "$i" -gravity West -crop 50%x100%+0+0 "left_$i"; done
        

        为我工作。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-10-17
          • 1970-01-01
          • 2015-12-18
          • 1970-01-01
          • 2023-03-30
          • 2017-02-11
          • 2023-03-06
          • 2017-04-20
          相关资源
          最近更新 更多