如何启用 libMagick++ 以保存 .png 文件格式
How to enable libMagick++ in order to save .png file format
我写了一个c++程序,可以读取、添加噪声和保存图像。我可以将图像保存为 .bmp,但是当尝试将图像保存为 .png 时,会弹出错误提示 ...无法保存文件 'noisy-canon.png' 除非启用 libMagick++
查看下面我的代码
#include <iostream>
#include <algorithm>
#include <vector>
#include <Magick++.h>
#include <CImg.h>
using namespace std;
using namespace cimg_library;
int main()
{
//image file
CImg<unsigned char> image("milla.png");
image.noise(5,2);
image.save_magick("noisy-canon.png");
CImgDisplay main_disp(image, "Image with Pepper noise",0);
while (!main_disp.is_closed())
{
main_disp.wait();
}
getchar();
return 0;
}
我也尝试过使用 save_cimg()。它创建一个文件,错误提示
...除非启用 zlib,否则无法将压缩数据保存在文件 'noisy_canon.png' 中,以未压缩的方式保存它们。
下面是我的代码;
(...)
image.save_cimg("noisy_canon.png",1);
(...)
以下尝试均未成功;
//above cimg.h "this gives error"
#define cimg_use_png
#include <CImg.h>
//tried below cimg.h "no error, but doesn't work"
#include <CImg.h>
#define cimg_use_png
提前致谢
我找到了 libMagick++ 的替代品。由于安装在机器上,所以我使用terminal/command版本进行转换。
system("convert input.jpg output.png");