如何在C ++中将image.jpg转换为image.ppm

时间:2019-10-31 11:42:32

标签: c++ raspberry-pi jpeg ppm

我现在希望通过C ++代码实现将image.jpg转换为image.ppm。我可以在C ++中实现什么库? 顺便说一句:我的工作平台是Raspberry Pi 3B +。 希望得到您的帮助和答复。

2 个答案:

答案 0 :(得分:0)

已建立的用于快速JPEG图像I / O的 libjpeg-turbo 库也可以读取和写入简单的PPM图像格式。您可以使用libjpeg-turbo提供的tjSaveImage()方法。

在您的代码中,使用tjDecompress2()tjSaveImage()方法。 请参见libjpeg-turbo项目中的example code

您可能还需要阅读this article,以了解如何在树莓平台上进行OpenCV和libjpeg-turbo的优化构建(仅执行libjpeg-turbo部分)。

答案 1 :(得分:0)

为此,我建议使用CImg库。它是现代的,轻巧的并且使用非常非常简单,因为它是“仅标头” -只是一个包含文件。

#include "CImg.h"

using namespace cimg_library;

int main() {
   // Load JPEG image
   CImg<unsigned char> im("image.jpg");

   // Save as PPM
   im.save("result.ppm");
}

像这样编译:

g++ -std=c++11 -O3 -march=native -Dcimg_jpeg=1 -Dcimg_display=0  main.cpp -o main