我正在寻找一个优秀的C++库来进行基础图像处理。我需要完成以下任务:将图像转换为灰度,并能够读取图像像素。
我已经看过OpenCV、GIL、CImg和Magick++,但要么它们不是特别好,要么我无法通过这些库将图像转换为灰度。
我已经看过OpenCV、GIL、CImg和Magick++,但要么它们不是特别好,要么我无法通过这些库将图像转换为灰度。
CImg可能是最容易使用的,无需安装它,只需要一个头文件。
使用Cimg进行大致步骤如下:
#include "CImg.h"
using namespace cimg_library;
...
{
...
CImg<unsigned char> image("source.jpg") //[load jpg][2] needs ImageMagick
cimg_for(img,ptr,float) { *ptr=0; } //[Loop][3] over every pixel, eg this method equivalent to 'img.fill(0);'
save_jpeg (const char *const filename, const unsigned int quality=100) //[save as a jpg][4]
...
}