Imagemagick 裁剪循环效果不佳
Imagemagick crop loop not working well
我需要从一张图片中裁剪出 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
请任何帮助。
试试这个 - 您没有任何变量来表示输出文件说明符中的 %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
我需要从一张图片中裁剪出 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
请任何帮助。
试试这个 - 您没有任何变量来表示输出文件说明符中的 %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