正确调整亮度、对比度和图像伽玛最简单的方法是什么?这里有“正确”一词,因为我知道如何不恰当地执行这些调整:在所有RGB像素上循环并对每个通道执行以下操作:
int changeBrightness( int value, int brightness) {
return qBound<int>(0, value + brightness * 255 / 100, 255);
}
int changeContrast( int value, int contrast ) {
return qBound<int>(0, int(( value - 127 ) * contrast / 100 ) + 127, 255 );
}
int changeGamma( int value, int gamma ) {
return qBound<int>(0, int( pow( value / 255.0, 100.0 / gamma ) * 255 ), 255 );
}
尽管此代码将添加亮度/conrast/伽马变化的效果,但它看起来不太好。专业的成像软件,比如Photoshop做的更好。
处理这类东西的最好的图书馆是什么?我知道有ImageMagick,但它真的很重,我不想只链接到数百个功能中的一个。有什么轻量级的替代品吗?
发布于 2011-02-12 23:59:29
绝对OpenCV
https://stackoverflow.com/questions/4981474
复制相似问题