将 ppm 转换为 png

Posted

技术标签:

【中文标题】将 ppm 转换为 png【英文标题】:Converting ppm to png 【发布时间】:2011-04-30 02:22:22 【问题描述】:

在 Linux 中,我将 .PPM 文件作为图像格式,这需要转换为 PNG 然后保存。我正在查看一些 API 来实现从 PPM 到 PNG 的转换。这可以使用 GDI+ 来完成吗,因为这会变成原生的?

如果那不可能,那么我认为 freeimage 或 pnglib 可以做到这一点,但如果可能的话,我更愿意使用原生 gdi+。

【问题讨论】:

【参考方案1】:

您可以使用 ImageMagick 库:

http://www.imagemagick.org/script/index.php

但它还有很多其他功能。

【讨论】:

【参考方案2】:

GDI+ 本身并不支持 PPM 格式。因此,无论您做什么,都需要library。

【讨论】:

【参考方案3】:

又快又脏:从 CLI 下载 Imagemagick 并使用它:

convert xx.ppm xx.png

或使用 Imagemagick 的 dll API

【讨论】:

【参考方案4】:

虽然 ImageMagick 会很乐意满足您的需求,但它实际上是一把大锤,比 NetPBM 安装起来更加麻烦、空间和耗时> 套房。

有了它,你会这样做:

pnmtopng image.ppm > result.png

【讨论】:

我找不到如何下载它。你能提供一个链接吗?谢谢!另外我用的是Visual Studio 2017,有没有可以调用的函数? 在我的 Mac 上安装 imagemagick 就像 brew install imagemagick 一样简单。 是的,我在 brew helppackages.ubuntu.com 上找不到这个 @DanielLizik 应该在这里...packages.ubuntu.com/… @Thomas ImageMagick 是一套功能强大且全面的工具。其中很大一部分功能来自利用其他软件包,例如 libtiff、libjpeg、XML 工具、X11、fftw、OpenEXR、Cairo、Pango、freetype、Ghostscript、heif、rsvg、CMS。大量依赖项可能导致不兼容以及安装和配置困难。相比之下,NetPBM 是独立的。不要误会,我对 ImageMagick 的能力感到敬畏,但有时您需要一把剪刀,有时您需要电锯、起重机和工业液压钢板切割机。【参考方案5】:

你可以使用ffmpeg,批量转换你可以做

#!/bin/bash
for i in *.ppm;
  do name=`echo "$i" | cut -d'.' -f1`
  echo "$name"
  ffmpeg -i "$i" "$name.png"
done

【讨论】:

使用 name=$(basename ...) 或 name=$i%.ppm而不是迂回的 name=$( ... cut ...) 方法>

以上是关于将 ppm 转换为 png的主要内容,如果未能解决你的问题,请参考以下文章

使用python将ppm格式转换成jpg

用 R 做 OCR

怎样将jpg.转换成png.格式?

将 png 文件转换为 txt 文件

如何将jpg格式转换成png格式?

Imagemagick 将 png 转换为 jxr