【问题标题】:Imagemagick crop loop not working wellImagemagick 裁剪循环无法正常工作
【发布时间】:2015-03-30 16:27:04
【问题描述】:

我需要从一张图片中剪出 16 张图片。
.tif format 中的所有图片。 每个图像的左上角坐标包含在文本文件中。
就像

100,200
300,400
...

我使用了这个 bash 代码

IFS=','
while read x y; do 
convert image.tif -crop 262x262+$x+$y image_%02d.tif; 
done < coordinates

它给了我 395 张坐标错误的图像。
我使用 Ubuntu 14.04, Imagemagick 6.7.7
请任何帮助。

【问题讨论】:

  • 在哪里打开包含坐标的文本文件?您应该先打开它并逐行阅读

标签: bash imagemagick crop imagemagick-convert


【解决方案1】:

试试这个 - 你没有任何变量来代表你的输出文件说明符中的%02d

#!/bin/bash
i=1
IFS=','
while read x y; do 
name=$(printf "image%02d.tif" $i)
convert image.tif -crop 262x262+$x+$y "$name"
((i++))
done < coordinates

如果你真的不需要图片被调用image01.tifimage02.tif,和image1.tifimage2.tif就可以了,你可以直接使用这个

#!/bin/bash
i=1
IFS=','
while read x y; do 
convert image.tif -crop 262x262+$x+$y image$i.tif
((i++))
done < coordinates

【讨论】:

    猜你喜欢
    • 2012-07-04
    • 2012-03-24
    • 1970-01-01
    • 1970-01-01
    • 2019-01-01
    • 1970-01-01
    相关资源
    最近更新 更多