欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python如何實現(xiàn)伽馬矯正

 更新時間:2023年10月12日 14:35:52   作者:一米陽光zw  
這篇文章主要介紹了Python如何實現(xiàn)伽馬矯正問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Python實現(xiàn)伽馬矯正

伽馬矯正是一種借助了指數(shù)變換映射的增強技術(shù)。

伽馬矯正的映射函數(shù)可表示為:d = T(s)= csY ,其中c和y為常數(shù)。

y的值是控制變換效果的主要因素,所以被稱之為伽馬矯正。

如右圖所示:

  • 當y 之1時,輸入的低灰度范圍被壓縮,高灰度范圍被拉伸,實現(xiàn)了強化亮部,壓縮暗部的圖像增強效果;
  • 當y >1時,輸入的高灰度范圍被壓縮,
  • 低灰度范圍被拉伸,實現(xiàn)了強化暗部,壓縮亮部的圖像增強效果;

gama,pY

代碼實現(xiàn)

import numpy as np
import cv2
def gama_trans(img, gamma):
    # 先歸一化處理,再做伽馬計算,再還原到[0,255]
    gmma_list = [np.power(x / 255.0, gamma) * 255.0 for x in range(256)]
    # 將列表換成nparray,換成無符號8為數(shù)
    gamma_table = np.round(np.array(gmma_list)).astype(np.uint8)
    return cv2.LUT(img, gamma_table)
# 定義matshow方法
def matshow(title='image', image=None, gray=False):
    if isinstance(image, np.ndarray):
        if len(image.shape) == 2:
            pass
        elif gray:
            # 轉(zhuǎn)換成GRAY格式
            image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
        else:
            # 圖片默認BGR通道,將突破轉(zhuǎn)換成RGB
            image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
            # 使用這種方式顯示圖片可能會導(dǎo)致圖片顯示畸形
            # cv2.imshow('image', image)
    plt.figure()
    # 載入圖像
    plt.imshow(image, cmap="gray")
    # 設(shè)置標題
    plt.title(title)
    plt.show()
if __name__ == '__main__':
    im = cv2.imread('data/lena.jpg', 0)
    matshow('im', im)
    # 使用小于1的伽馬值
    im = gama_trans(im, 0.5)
    matshow('im0.5', im)
    # 使用大于1的伽馬值
    im = gama_trans(im, 3)
    matshow('im3', im)

實現(xiàn)效果

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • TensorFlow實現(xiàn)數(shù)據(jù)增強的示例代碼

    TensorFlow實現(xiàn)數(shù)據(jù)增強的示例代碼

    ?TensorFlow數(shù)據(jù)增強?是一種通過變換和擴充訓(xùn)練數(shù)據(jù)的方法,本文主要介紹了TensorFlow實現(xiàn)數(shù)據(jù)增強的示例代碼,具有一定的參考價值,感興趣的可以了解游戲
    2024-08-08
  • 解決pycharm上的jupyter notebook端口被占用問題

    解決pycharm上的jupyter notebook端口被占用問題

    今天小編就為大家分享一篇解決pycharm上的jupyter notebook端口被占用問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python自定義模塊使用.pth文件實現(xiàn)重用方式

    python自定義模塊使用.pth文件實現(xiàn)重用方式

    這篇文章主要介紹了python自定義模塊使用.pth文件實現(xiàn)重用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Python requests獲取網(wǎng)頁常用方法解析

    Python requests獲取網(wǎng)頁常用方法解析

    這篇文章主要介紹了Python requests獲取網(wǎng)頁常用方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • Django如何使用asyncio協(xié)程和ThreadPoolExecutor多線程

    Django如何使用asyncio協(xié)程和ThreadPoolExecutor多線程

    這篇文章主要介紹了Django如何使用asyncio協(xié)程和ThreadPoolExecutor多線程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • python3解析庫BeautifulSoup4的安裝配置與基本用法

    python3解析庫BeautifulSoup4的安裝配置與基本用法

    簡單來說,BeautifulSoup就是Python的一個HTML或XML的解析庫,我們可以用它來方便地從網(wǎng)頁中提取數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于python3解析庫BeautifulSoup4的安裝配置與基本用法的相關(guān)資料,需要的朋友可以參考下
    2018-06-06
  • Python利用tkinter和socket實現(xiàn)端口掃描

    Python利用tkinter和socket實現(xiàn)端口掃描

    這篇文章主要為大家詳細介紹了Python如何利用tkinter和socket實現(xiàn)端口掃描功能,文中的示例代碼講解詳細,感興趣的小伙伴可以嘗試一下
    2022-12-12
  • 利用selenium 3.7和python3添加cookie模擬登陸的實現(xiàn)

    利用selenium 3.7和python3添加cookie模擬登陸的實現(xiàn)

    這篇文章主要給大家介紹了關(guān)于利用selenium 3.7和python3添加cookie模擬登陸的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用python具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-11-11
  • 詳解如何使用pandas進行時間序列數(shù)據(jù)的周期轉(zhuǎn)換

    詳解如何使用pandas進行時間序列數(shù)據(jù)的周期轉(zhuǎn)換

    時間序列數(shù)據(jù)是數(shù)據(jù)分析中經(jīng)常遇到的類型,為了更多的挖掘出數(shù)據(jù)內(nèi)部的信息,我們常常依據(jù)原始數(shù)據(jù)中的時間周期,將其轉(zhuǎn)換成不同跨度的周期,下面以模擬的K線數(shù)據(jù)為例,演示如何使用pandas來進行周期轉(zhuǎn)換,感興趣的朋友可以參考下
    2024-05-05
  • 100行Python代碼實現(xiàn)自動搶火車票(附源碼)

    100行Python代碼實現(xiàn)自動搶火車票(附源碼)

    又到年底了,相信對于在外地的朋友們來說,火車票是到年底最頭痛的一件事了,但作為程序員的你怎么能一樣呢?快發(fā)揮你的特長,下面這篇文章主要給大家介紹了如果通過100行Python代碼實現(xiàn)自動搶火車票的相關(guān)資料,需要的朋友可以參考下。
    2018-01-01

最新評論