批量将PNG转换为JPG并将图像输出到新文件夹 - ImageMagick

3
mogrify  -flatten -quality 100  *.jpg -format  jpg *.png

我需要将输出图像保存到新文件夹中,那我该怎么做?
for %%a in ("*.*") do ffmpeg -i "%%a" -q:v 3 -quality 100

"newfiles\%%~na.jpg" 暂停

还有,-q:v3(ffmpeg) 和没有 -q:v(imagemagick) 有什么不同?

谢谢。


这个命令,如果放入批处理脚本中,能够给你想要的结果吗?如果是,问题出在哪里? - lit
不,如果正常工作...但我只需要输出到新文件夹,而不是与源文件夹相同。因为,如果它与源文件夹相同..我将需要对文件进行排序...然后将转换后的文件复制到之前创建的新文件夹中。旧命令:3步 新命令(Mark Setchell):它缩减为2步,节省时间。 - hongducwb
1个回答

3

你已经接近成功了...

mkdir OutputDir
mogrify -path OutputDir -format jpg -flatten -quality 100 *.png

如果你想将输出大小限制在,比如600kb内,可以在命令行中添加以下内容:

-define jpeg:extent=600kb

如果我使用mogrify,似乎无法使其工作,如果我使用convert并且输入文件是PNG格式,它也似乎无法工作。我不知道原因,因为我确定以前它是可以工作的。无论如何,这意味着您需要这样做,以将质量降低到足以获得所需大小:

convert -define jpeg:extent=600kb input.jpg output.jpg

但是你可以回答我的第二个问题吗?我使用ffmpeg命令通过-q:v(颜色,像素与源相同,当您以100%缩放查看时...您需要缩放200-300%才能识别原始图像和转换后的差异)来降低图像大小。那么,imagemagick有这个选项(-q:v)吗?谢谢。 - hongducwb
你能解释一下这在英语中是什么意思吗?我读了ffmpeg的手册,它谈到了为通道设置VBR,但据我所知,静态图像没有比特率,所以我觉得它相当难以理解。你想让ImageMagick做什么?限制输出文件的大小?减少颜色量化? - Mark Setchell
英语不是我的母语,难以表达,所以我从两个由ffmpeg和imagemagick转换的文件中截取了屏幕截图。这是链接:http://imgur.com/a/lGD3w。正如您所看到的,ffmpeg的大小为623KB,一旦我将其放大400%,就可以看到噪点。因此,imagemagick有这个选项吗?我不需要放大3-400%才能看到差异。谢谢。 - hongducwb
ffmpegHelp 页面上的英文让我无法理解!你想让 ImageMagick 减少噪点吗?还是让文件变小?或者其他什么? - Mark Setchell
我已经添加了一些信息 - 希望这有所帮助。 - Mark Setchell
这是我的新命令:mkdir OutputDirmogrify -path OutputDir -format jpg -flatten -quality 86 png:compression-level=9 .quality 86 imagemagick ~ quality 100 -q:v 3 ffmpeg - hongducwb

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接