CImg 读取jpg, png ,tif 等格式失败解决方案

时间:2023-02-06 19:06:47

CImg homepage :http://cimg.sourceforge.net

CImg 给出的一个简单的示例:http://cimg.sourceforge.net/reference/group__cimg__tutorial.html

#include "CImg.h"
using namespace cimg_library;
int main() {
CImg<unsigned char> image("lena.jpg"), visu(,,,,);
const unsigned char red[] = { ,, }, green[] = { ,, }, blue[] = { ,, };
image.blur(2.5);
CImgDisplay main_disp(image,"Click a point"), draw_disp(visu,"Intensity profile");
while (!main_disp.is_closed() && !draw_disp.is_closed()) {
main_disp.wait();
if (main_disp.button() && main_disp.mouse_y()>=) {
const int y = main_disp.mouse_y();
visu.fill().draw_graph(image.get_crop(,y,,,image.width()-,y,,),red,,,,,);
visu.draw_graph(image.get_crop(,y,,,image.width()-,y,,),green,,,,,);
visu.draw_graph(image.get_crop(,y,,,image.width()-,y,,),blue,,,,,).display(draw_disp);
}
}
return ;
}

效果图如下CImg 读取jpg, png ,tif 等格式失败解决方案

但是如果按照以上教程运行会出现无法读取jpg 的现象,把原图片转换成BMP格式则通过。

这是什么原因呢,CImg 在读取 JPEG PNG TIF等格式的文件时,是需要做一个转换,而这个转换CImg是调用了第三方软件 ImageMagick

ImageMagick下载主页:http://www.imagemagick.org/script/install-source.php#windows

下载二进制可执行文件,安装后把安装ImageMagic 根目录下的convert.exe拷贝到所建工程下面然后把CORE_RL_开头的dll 也拷贝过去,这样就可以运行了。