Если вас интересуют только одноканальные изображения, вы также можете сохранить их как одноканальные PGM
изображения, которые CImg могут читать и записывать напрямую, без необходимости в дополнительных библиотеках:
#include "CImg.h"
using namespace cimg_library;
int main() {
// Load colour image
CImg<unsigned char> image("image.png");
// Extract Red channel, which is same as Green and Blue in greyscale
image.channel(0);
// ALTERNATIVE TO PREVIOUS LINE IS TO USE LUMINANCE
// image.RGBtoYCbCr().channel(0);
// Save as single channel PGM file
image.save_pnm("result.pgm");
}
Позже вы можете преобразовать файл PGM
( описание Википедии о PGM ) в JPEG
, или PNG
, или TIFF
с ImageMagick :
convert result.pgm image.jpg
convert result.pgm image.png
Ключевые слова : обработка изображений, обработка изображений, C ++, библиотека, CImg, NetPBM, PBMplus, PBM, PGM, PPM, PAM, оттенки серого, оттенки серого, один канал