2016-08-30 34 views
0

我有一個圖像img.jpg,我想用線性gamma校正將它轉換爲newImg.jpg。我發現我如何使用終端做到這一點:在C++中使用gamma校正來轉換jpeg

convert img.jpg -gamma valueOfgamma newImg.jpg 

但現在我想這樣做在我的C++程序。我該如何使用imagemagick ++或openCv來做到這一點?

感謝

+0

如果您不需要了一些非常便攜,你可以調用'convert'工具從你的C++應用 –

+0

http://www.pyimagesearch.com/2015/10/05/opencv-gamma-更正/非常容易移植到C++ – Miki

回答

2

隨着你會使用方法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; 
}