zoukankan      html  css  js  c++  java
  • 粗略的调整图片对比度和亮度(五)

    一 基本原理(两张图片合成)

      一张全0像素图片(黑色),另一张原图,然后两张图按照不同的比例进行合成得到新图.

    二 核心函数 addWeighted函数

      官方:计算两个图像阵列的加权和 ,可以理解是按照所占比例合成两张图片

    addWeighted(src1, alpha, src2, beta, gamma, dst=None, dtype=None)
    1、第1个参数src1,输入图片1, 
    
    2、第2个参数alpha,图片1的融合比例
    
    3、第3个参数src2,输入图片2
    
    4、第4个参数beta,图片2的融合比例
    
    5、第5个参数gamma,偏差 微调参数
    
    6、第6个参数dst,输出图片

    有公式得出两个图片加成输出的图片为:dst=src1*alpha+src2*beta+gamma

    代码:

    import cv2 as cv
    import numpy as np
    
    def contract_brightness_image(src,a,g):
        # 获取shape的数值,height和width、通道
        h,w,ch=src.shape
        # 新建全零图片数组src2,将height和width,类型设置为原图片的通道类型(色素全为零,输出为全黑图片)
        src2=np.zeros([h,w,ch],src.dtype)
        # addWeighted函数 色彩调节函数
        dst=cv.addWeighted(src,a,src2,1-a,g)
        cv.imshow('con_bri',dst)
    
    src=cv.imread('./dogcat.jpg')
    cv.namedWindow('before',cv.WINDOW_NORMAL)
    cv.imshow('before',src)
    contract_brightness_image(src,1.2,10)
    cv.waitKey(0)
    cv.destroyAllWindows()

    效果

  • 相关阅读:
    软连接
    libmysqlclient.so.18 not found 的解决方法
    查找某个文件并全部删除
    sudo passwd root:没有相关指令
    智能解析套件
    日志类封装
    windows安装mysql
    xshell报错Socket error Event: 32 Error: 10053
    appium简明教程(8)——那些工具
    appium简明教程(7)——Desired Capabilities详解
  • 原文地址:https://www.cnblogs.com/angle6-liu/p/10652270.html
Copyright © 2011-2022 走看看