任何人都可以帮我转换批处理文件中的以下shellcript代码吗?我会非常乐于助人,因为我不知道这个过程。它使用opencv 3.0的命令“convert”,我将在转换后修改它。如果有人可以修改其余的......请提前帮助
for filename in $(ls *.pgm);
do
w=`convert $filename -print "%w" /dev/null`
h=`convert $filename -print "%h" /dev/null`
let "ww= $w/100"
let "hh= $h/100"
for((y=150;y<=250;y+=50))
do
for((i=100;i<=400;i+=50))
do
echo "slide/$i.$filename"
let "h_slide=$i"
convert $filename -crop 100x100+$i+$y slide/$y.$i.$filename
done
done
done
答案 0 :(得分:4)
不是代码编写服务,但我会帮你开始......
首先,convert
命令来自ImageMagick
而非OpenCV
。
其次,由于未使用w
,ww
,h
和hh
,因此可以删除第3-6行。
第三,请参阅here了解如何在Windows上循环浏览文件 - 以替换当前的第1行。
第四,请参阅here了解如何循环一系列数字,步长为50 - 以替换当前第7和第9行。
还有一句警告...... Windows附带了一个名为CONVERT.EXE
的程序,它将文件系统转换为NTFS,因此如果你想运行ImageMagick
convert
而不是Windows { ,你最好用"C:\Programs\Installed\ImageMagick6-9.1\convert"
而不是普通的convert
来称呼它,否则你会得到错误的。{/ p>