PNG到PGM的转换没有质量损失

时间:2015-12-01 14:14:54

标签: python imagemagick png imagemagick-convert pgm

所以,我有一个PNG图像文件,如下例所示,我需要将其转换为PGM格式。

enter image description here

我正在使用Ubuntu和Python,因此任何终端或Python工具都适合。确实有很多方法可以做到这一点:使用ImageMagick'convert'命令或pngtopam包或Python PIL库等。

但重点是,在我的情况下,图像的质量至关重要,并且所有这些都未能保留,总是最终得到:

enter image description here

无需提及这完全不是我想看到的。有趣的是,当我尝试使用GIMP手动将相同的图像转换为PGM时,结果非常好,完全按照我喜欢的方式,即与PNG相同。

所以,这意味着可能毕竟可以获得高质量的PGM图像,现在我真的很感激有人可以告诉我如何使用终端/ Python工具做到这一点。我想,应该有一些ImageMagick选项可以解决问题,只是我不知道任何选项。

1 个答案:

答案 0 :(得分:8)

您丢失了通过Alpha通道传送的抗锯齿功能。要保留它,请使用

convert in.png -flatten out.pgm

如果没有“-flatten”,转换只是删除alpha通道;使用“-flatten”将输入图像与背景颜色合成,默认为白色。

以下是结果,放大了10倍,以便您可以看到正在发生的事情:

未展平:not flattened 扁平:flattened