我需要从一个切出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
请帮忙。
答案 0 :(得分: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.tif
和image02.tif
,image1.tif
,image2.tif
就可以了,你可以简单地使用这个
#!/bin/bash
i=1
IFS=','
while read x y; do
convert image.tif -crop 262x262+$x+$y image$i.tif
((i++))
done < coordinates