python - 如何在OpenCV中改变照片的曝光度

标签 python image opencv image-processing exposure

是否有一种技术可以让您更改照片的曝光? 我想知道是否有一个“通用”公式来表示不同程度的暴露,例如:

1. Strongly underexposed
2. Underexposed
3. Correct exposure
4. Overexposed
5. Strongly overexposed

代码将非常受欢迎。

最佳答案

正如@JDevr页面提到的,只需阅读 Gamma 校正部分。恐怕您必须手动调整 Gamma 值,或者只是假设它。 python 示例代码如下:

def gamma_trans(img, gamma):
    gamma_table=[np.power(x/255.0,gamma)*255.0 for x in range(256)]
    gamma_table=np.round(np.array(gamma_table)).astype(np.uint8)
    return cv2.LUT(img,gamma_table)

image_gamma_correct=gamma_trans(image,value_of_gamma)

关于python - 如何在OpenCV中改变照片的曝光度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57309612/

相关文章:

python - 使用 ebnf 和空格进行 pyparsing

java - 我无法显示我的 ImageIcon

android - 使用 ndk 和 ffmpeg 和 opencv 在 Android 上进行视频处理非常慢

python - 如何匹配以不同角度拍摄的图像

python - 如何反序列化 GeoServer WFS GeoJSON?

python - 当有人注册时,WTForms 可以检查两个密码是否相同

python - Scipy fmin_slsqp 错误 "failed in converting 8th argument ` g' of _slsqp.slsqp to C/Fortran array"

Html::img 标签在 yii2 中不起作用

java - Spring + JSF - 从数据库检索图像并在浏览器中显示

c++ - 在 OpenCV 中计算码本