python numpy opencv调整图片亮度对比度饱和度

本文介绍了如何使用Python的OpenCV库调整图像的亮度、对比度,并提供了完整的代码示例。通过线性变换对图像的每个像素点进行操作,实现了对图像效果的显著改善。
摘要由CSDN通过智能技术生成

python 调整图片亮度对比度饱和度

(想要完整代码直接划到最后)

原理比较简单,本质上是对图像各个通道的每个像素点做线性变换,对超出范围[0,255]的做截断处理,所以使用numpy处理比较方便

安装依赖库

pip install numpy
pip install opencv-python

亮度变换

# 修改图像的亮度,brightness取值0~2 <1表示变暗 >1表示变亮
def change_brightness(img, brightness):
    [averB, averG, averR] = np.array(cv2.mean(img))[:-1] / 3
    k = np.ones((img.shape))
    k[:, :, 0] *= averB
    k[:, :, 1] *= averG
    k[:, :, 2] *= averR
    img = img + (brightness - 1) * k
    img[img > 255] = 255
    img[img < 0] = 0
    return img.astype(np.uint8)

一下函数为了方便展示调用,可自行选择使用

def cvshow(name, img):
    cv2.namedWindow(name, cv2.WINDOW_NORMAL)
    cv2.resizeWindow(name,1280,720)
    cv2.imshow(name, img)
    cv2.waitKey(0)
    cv2.destroyWindow(name)

对"sc/1.jpg"应用亮度变换

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值