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

How to convert image.jpg to image.ppm in c++

我现在希望通过c++代码实现将image.jpg转换为image.ppm。我可以用 C++ 实现什么库? 顺便说一句:我的工作平台是Raspberry Pi3B+。 期待您的帮助和回复。

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

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

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

为此,我会推荐 CImg 库。它现代、轻巧且使用起来非常非常简单,因为它 "header only" - 只是一个包含文件。

#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