OpenCV-python基础操作之使用cv2.addWeighted()函数调整图像的亮度/对比度

OpenCV-python基础操作之使用 cv2.addWeighted()函数调整图像的亮度/对比度

相关代码:


# 代码描述:  使用cv2.addWeighted()函数,粗略的调整图像的亮度/对比度
# 
# 创建时间: 2020-09-15
# 创建人: Wupke
# 修改时间:
# 
import cv2 as cv
import numpy as np


def contrast_brightness_demo(image, c, b):            # 定义方法, c @ contrast  对比度 ; b @ brightness 亮度
    h, w, ch = image.shape
    blank = np.zeros([h, w, ch], image.dtype)         # 定义一张空白图像
    dst = cv.addWeighted(image, c, blank, 1-c, b)     # 设定权重
    cv.imshow("con-bri-demo", dst)


src = cv.imread("../OpenCV_Files/pictures_for_OpenCV/8.jpg")  # 读取图片
cv.imshow("input image", src)                # 显示原图片

contrast_brightness_demo(src, 1.5, 2)      # 调用方法,在原图的基础上改变亮度/对比度的值

cv.waitKey(0)                  # 保持对话框
cv.destroyWindow()             # 清除内存


处理效果:

在这里插入图片描述

补充:

① contrast_brightness_demo(src, 1.5, 2) # (括号内数字大小可自己调控,为效果明显,这里数字偏大)

在这里插入图片描述

② cv2.addWeighted()函数

cv2.addWeighted(src1, alpha, src2, beta, gamma[, dst[, dtype]]) 

cv2.addWeighted()函数可以将两张相同shape的图片按权重进行融合

dst = src1 * alpha + src2 * beta + gamma

参数说明:

src1 –—— 输入的第一张图片
alpha —— 第一张图片的权重
src2 —— 与第一张大小和通道数相同的图片(相同shape)
beta —— 第二张图片的权重
dst —— 输出,python中可以直接将dst放在前面作为输出
gamma —— 加到每个总和上的标量,相当于调亮度
dtype —— 输出阵列的可选深度,默认值为-1.当两个输入数组具有相同深度时,参数为默认值-1.即为src1.depth()。

  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值