代码之家  ›  专栏  ›  技术社区  ›  OrangesV

CImg保存图像更改值?

  •  0
  • OrangesV  · 技术社区  · 10 年前

    所以我正在使用CImg库来获得一些图像的乐趣。。。 问题是,当我打开文件以更改其RGB值并保存时,修改后的图像不会保留更改后的值或原始值。

    CImg<unsigned char> image_out( img.c_str() );
    image_out(0,0,0) = 253; //reset new rgb values
    image_out(0,0,1) = 248;
    image_out(0,0,2) = 251;
    image_out.save( "out.jpeg" );
    

    然后,当我再次打开图像时,我将其作为新的RGB值。。。

    R: 249  G: 249  B: 249
    

    我真的不明白为什么这些值没有保存到我设置的值。。。

    编辑: 对不起,我还提到我知道像素的初始值(相对于RGB)是255255255。

    1 回复  |  直到 10 年前
        1
  •  0
  •   Bvalabas    10 年前

    不要使用jpeg,这是一种破坏性的图像格式,由于Dct压缩,无法保留值。 使用.png或。改为Bmp。