Какой самый простой способ правильно настроить яркость, контрастность и гамму изображения.Слово «правильно» здесь, потому что я знаю, как неправильно выполнить эти настройки: перебрать все пиксели 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 );
}
Хотя этот код добавит эффект яркостиизменение контрастности / гаммы, выглядит не очень хорошо.Профессиональное программное обеспечение для обработки изображений, такое как Photoshop, делает это намного лучше.
Какая библиотека лучше всего подходит для такого рода вещей?Я знаю, что есть ImageMagick, но он действительно тяжелый, я не хочу ссылаться только на одну функцию из сотен.Есть ли легкие альтернативы?