使用 CImg:我在这里读到,您可以像这样更改单个像素的 RGB 数据:
CImg<float> img("filename.jpg");
// Change the (100,200) pixel to Red.
img(100,200,0,0) = 255; //R
img(100,200,0,1) = 0; //G
img(100,200,0,2) = 0; //B
但img(100, 200, 0, 0)
返回 type unsigned char *
,这显然不是上面代码片段所暗示的变量。当我运行上面的代码时,我在构建输出中得到“错误 C2106:'=':左操作数必须是左值”。
一个潜在的解决方案是使用不同版本的CImg
构造函数,它将原始像素数据作为其第一个参数,但我找不到任何关于如何在通过构造函数运行数据之前格式化数据的信息——第一个参数是描述作为CImg.h的第 9671 行中的模板。
任何帮助将不胜感激; 我已经有一段时间了。