在用 openjpeg 对图像进行无损 JPEG2000 压缩的处理时,我有几百张图像要压缩,本来它的运行方式是在当前文件夹下输入 cmd,把要处理的图像名写上,和命名转换格式后的图像(opj_compress -i xx.bmp -o xx.j2k),就可以运行,咳咳说下这个如何弄吧,还是朋友告诉我才知道的,可能很多人知道,但不排除有些人不知道嘛。
我就想,有那种批处理方法可以循环读取文件,执行同一个操作,于是就到处查命令行 /bat 文件批处理怎么用等各种关键词,没查到直接可以套用现成的语句,就看了下for命令的用法,写了极其简陋的一句,在 openjpeg 的执行文件下存为 .bat 文件:
for /r %%i in (??????.bmp) do opj_compress -i %%i -o %%i.j2k
pause
可以运行,就是新图像的名字是 ??????.bmp.j2k,很难看,不知道怎么改,也没有指定导出到哪个文件夹,因此就和被处理的图像放在一起,还得自己复制粘贴出来。所以若有同学看到,且刚好熟悉这一方面,还望赐教更加完善的命令( ̄▽ ̄)"
再讲一讲这句命令各段的含义吧:
/r :把 .bat 文件所在的 当前目录 和 此目