在c++中使用伽玛校正转换jpeg

Convert jpeg using gamma correction in c++

本文关键字:转换 jpeg c++      更新时间:2023-10-16

我有一个图像img.jpg,我想使用线性伽马校正将其转换为newImg.jpg。我发现了如何使用终端:

convert img.jpg -gamma valueOfgamma newImg.jpg

但是现在我想在我的c++程序中做。我如何使用imagemagick++或openCv做到这一点?

谢谢

对于magick++,您将使用方法Magick::Image.gamma(const double)

#include <Magick++.h>
int main(int argc, const char * argv[]) {
    double valueOfgamma = 1.0;
    Magick::InitializeMagick(argv[0]);
    // convert img.jpg -gamma valueOfgamma newImg.jpg
    Magick::Image image("img.jpg");
    image.gamma(valueOfgamma);
    image.write("newImg.jpg");
    return 0;
}