• 灰度值线性变换


    原理

    假设输入图像为I,宽为W、高为H,输出图像记为O,图像的线性变换可以利用以下公式定义:

    [O(r,c) = a*I(r,c) + b, 0 leq r< H, 0 leq c < W ]

    当a=1,b=0时,O为I的一个副本;如果a>1,则输出图像O的对比度比I有所增大;如果a<1,则O的对比度比I有所 减小。 而b值的改变,影响的是输出图像的亮度,当b>0时,亮度增加; 当b<0时,亮度减小。

    代码

    # !/usr/bin/env python
    # -*-encoding: utf-8-*-
    # author:LiYanwei
    # version:0.1
    
    
    import cv2
    import numpy as np
    
    if __name__ =="__main__":
        image = cv2.imread('img1.jpg', cv2.IMREAD_GRAYSCALE)
        MAX_VALUE = 120
        value = 120
    
        #调整对比度后,图像的效果显示窗口
        cv2.namedWindow("contrast",cv2.WND_PROP_AUTOSIZE)
    
        #调整系数,观察图像的变化
        def callback_contrast(_value):
            #通过线性运算,调整图像对比度
            a = float(_value)/40.0
            contrastImage = a*image
            contrastImage[contrastImage > 255] = 255
            contrastImage = np.round(contrastImage)
            contrastImage = contrastImage.astype(np.uint8)
            cv2.imshow("contrast", contrastImage)
            cv2.imwrite("contrast.jpg", contrastImage)
    
        callback_contrast(value)
        cv2.createTrackbar("value", "contrast", value, MAX_VALUE, callback_contrast)
        cv2.waitKey(0)
        cv2.destroyAllWindows()
    
    
  • 相关阅读:
    element-ui 刷新页面不能自动打开对应的菜单
    cookie
    cdn
    为已有文件添加 d.ts 声明
    WiFi 漫游过程
    Wifi 4 way handshake 四次握手
    WiFi association request/response
    WiFi beacon
    WiFi Auth/Deauth帧
    WiFi probe request/response
  • 原文地址:https://www.cnblogs.com/Py00/p/8927147.html
Copyright © 2020-2023  润新知