如何使用 CImg 库将 jpg 格式转换为 bmp 格式?

How to convert from jpg to bmp by using CImg library?

我想将 JPG 文件转换为 BMP 文件。我正在使用一个名为 CImg.
的库 我正在使用以下代码进行转换操作:

#include "CImg.h"  
using namespace cimg_library;

int main(int argc, char *argv[]) {

    CImg<unsigned char> image("picture.jpg");
    image.save_bmp("imgB.bmp");

    return 0;
}

但是出现如下错误:

可能是什么问题。我错过了什么吗?

出现这个问题是因为你没有安装ImageMagick.

Note that you must also have installed the ImageMagick package in order to be able to read JPG images.

如果您要将 ImageMagick 安装到非标准路径,那么您将需要像下面这样指定它的路径

cimg::imagemagick_path("C:\ImageMagick-6.9.2-Q16\convert.exe");

如果您不想安装 ImageMagick 那么您应该 link 您的代码使用 libjpeg 库并启用原生CImg 中的 JPG 文件支持,将其放在包括 CImg.h:

之前
#define cimg_use_jpeg
#include "CImg.h"

将 CImg 与 libjpeg 一起使用绝对更好。这对其他图像格式(tiff、png、...)同样适用。