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

我有一个图像img.jpg,我想要使用线性伽马校正将其转换为newImg.jpg。 我发现如何使用terminal做到这一点:

convert img.jpg -gamma valueOfgamma newImg.jpg 

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

谢谢

Solutions Collecting From Web of "在c ++中使用伽马校正来转换jpeg"

用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; }