圖像的伽馬變換

??伽馬變換(Gamma Correction)是一種在圖像處理中常用的非線性變換方法,用于調整圖像的亮度和對比度。它在圖像的像素值上應用一個冪次函數,以改變圖像的灰度級分布,從而影響圖像的感知亮度。伽馬變換通常用于糾正顯示器的非線性響應以及在低光照條件下拍攝的圖像的亮度調整。
??伽馬變換的原理:在圖像處理中,原始圖像的亮度與顯示器或攝像機的響應并不總是線性關系。伽馬變換通過對每個像素的值應用一個冪函數來調整圖像的亮度分布。這個冪函數的參數稱為伽馬值(γ),它可以用來控制圖像的對比度和明暗程度。
??公式表示為:
I out = I in γ I_{\text{out}} = I_{\text{in}}^\gamma\ Iout?=Iinγ??
??其中, I in I_{\text{in}} Iin?是輸入圖像的像素值, I out I_{\text{out}} Iout?是輸出圖像的像素值, γ \gamma γ是伽馬值,通常取大于0的實數。
??伽馬值gamma控制了變換的曲率。當 gamma > 1時,圖像的低亮度部分會被拉伸,從而增強了圖像的對比度。當 gamma < 1時,圖像的高亮度部分會被拉伸,從而減弱了圖像的對比度。
??伽馬變換的意義和適用場景:伽馬變換可以用于調整圖像的感知亮度和對比度,使得圖像在顯示設備上或特定環境中更容易觀察和分析。它在以下情況下特別有用:
??糾正顯示器的非線性響應:顯示器通常具有非線性的光強-顯示響應曲線。通過應用適當的伽馬變換,可以糾正這種非線性響應,使圖像在顯示器上呈現更準確的亮度和對比度。
??調整低光照圖像:在低光照條件下拍攝的圖像通常會變得模糊且缺乏對比度。通過應用伽馬變換,可以增強圖像的細節和對比度,使其更容易分析。
??以下是使用OpenCV進行圖像伽馬變換的代碼示例:

import cv2
import numpy as npclass Gamma:def __init__(self,input_path,gama):self.input_path=input_pathself.gama=gamadef gamma_correction(self):img=cv2.imread(self.input_path,flags=0)if img is None:print('Unable to load image!')else:print('Load image successfully!')for i in range(len(self.gama)):corrected_image=np.power(img/255,self.gama[i])*255corrected_image=np.clip(corrected_image,0,255).astype(np.uint8)self.img_show(corrected_image)def img_show(self,image):cv2.namedWindow("image", cv2.WINDOW_FREERATIO)cv2.imshow('image', image)cv2.waitKey(0)cv2.destroyAllWindows()imgfile = "./Images/cat.jpg"
gamalist=[0.3,0.4,0.8,1.2,1.5]
img=Gamma(imgfile,gamalist)
coorected_img=img.gamma_correction()

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/34712.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/34712.shtml
英文地址,請注明出處:http://en.pswp.cn/news/34712.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Monkey測試真的靠譜嗎?

Monkey測試&#xff0c;顧名思義&#xff0c;就是模擬一只猴子在鍵盤上亂敲&#xff0c;從而達到測試被測系統的穩定性。Monkey測試&#xff0c;是Android自動化測試的一種手段&#xff0c;Monkey測試本身非常簡單&#xff0c;Android SDK 工具支持adb Shell命令&#xff0c;實…

208、仿真-51單片機脈搏心率與心電報警Proteus仿真設計(程序+Proteus仿真+配套資料等)

畢設幫助、開題指導、技術解答(有償)見文未 目錄 一、硬件設計 二、設計功能 三、Proteus仿真圖 四、程序源碼 資料包括&#xff1a; 需要完整的資料可以點擊下面的名片加下我&#xff0c;找我要資源壓縮包的百度網盤下載地址及提取碼。 方案選擇 單片機的選擇 方案一&a…

ElasticSearch 7.4學習記錄(基礎概念和基礎操作)

若你之前從未了解過ES&#xff0c;本文將由淺入深的一步步帶你理解ES&#xff0c;簡單使用ES。作者本人就是此狀態&#xff0c;通過學習和梳理&#xff0c;產出本文&#xff0c;已對ES有個全面的了解和想法&#xff0c;不僅將知識點梳理&#xff0c;也涉及到自己的理解&#xf…

行業追蹤,2023-08-09

自動復盤 2023-08-09 凡所有相&#xff0c;皆是虛妄。若見諸相非相&#xff0c;即見如來。 k 線圖是最好的老師&#xff0c;每天持續發布板塊的rps排名&#xff0c;追蹤板塊&#xff0c;板塊來開倉&#xff0c;板塊去清倉&#xff0c;丟棄自以為是的想法&#xff0c;板塊去留讓…

linux學習——Redis基礎

目錄 一、noSQL 類型 特點及應用場景 二、Redis 三、安裝方式 編譯安裝 rpm安裝 四、目錄結構 /etc/redis.conf 五、Redis命令 六、本地登錄和遠程登錄 本地登錄 遠程登錄 七、數據庫操作 幫助信息 庫操作 數據操作 八、Redis持久化 一、RDB類型 二、AOF模式 一…

2023河南萌新聯賽第(四)場:河南大學 F - 小富的idea

2023河南萌新聯賽第&#xff08;四&#xff09;場&#xff1a;河南大學 F - 小富的idea 時間限制&#xff1a;C/C 1秒&#xff0c;其他語言2秒 空間限制&#xff1a;C/C 262144K&#xff0c;其他語言524288K 64bit IO Format: %lld 題目描述 要注意節約 卷王小富最近又在內卷&a…

密碼檢查-C語言/Java

描述 小明同學最近開發了一個網站&#xff0c;在用戶注冊賬戶的時候&#xff0c;需要設置賬戶的密碼&#xff0c;為了加強賬戶的安全性&#xff0c;小明對密碼強度有一定要求&#xff1a; 1. 密碼只能由大寫字母&#xff0c;小寫字母&#xff0c;數字構成&#xff1b; 2. 密碼不…

偽類和偽元素有何區別?

聚沙成塔每天進步一點點 ? 專欄簡介? 偽類&#xff08;Pseudo-class&#xff09;? 偽元素&#xff08;Pseudo-element&#xff09;? 區別總結? 寫在最后 ? 專欄簡介 前端入門之旅&#xff1a;探索Web開發的奇妙世界 記得點擊上方或者右側鏈接訂閱本專欄哦 幾何帶你啟航前…

信號調制原理演示,模擬和數字調制技術大比拼

【中英雙語字幕】信號調制原理演示&#xff0c;模擬和數字調制技術大比拼&#xff01;_嗶哩嗶哩_bilibili

騰訊云輕量應用服務器Typecho應用模板搭建博客流程

騰訊云百科分享使用騰訊云輕量應用服務器Typecho應用模板搭建博客流程&#xff0c;Typecho 是開源的博客建站平臺&#xff0c;具有輕量、高效、穩定等特點&#xff0c;操作界面簡潔友好。該鏡像基于 CentOS 7.6 64 位操作系統&#xff0c;并已預置 Nginx、PHP、MariaDB 軟件。您…

4.0 Python 變量與作用域

在python中&#xff0c;變量的作用域決定了變量在哪些位置可以被訪問。一個程序中的變量并不是所有的地方都可以訪問的&#xff0c;其訪問權限決定于變量的賦值位置。python中有兩種最基本的變量作用域&#xff1a;局部作用域和全局作用域。局部變量是在函數內部定義的變量&…

day24-106.從中序與后序遍歷序列構造二叉樹

106.從中序與后序遍歷序列構造二叉樹 力扣題目鏈接(opens new window) 根據一棵樹的中序遍歷與后序遍歷構造二叉樹。 注意: 你可以假設樹中沒有重復的元素。 例如&#xff0c;給出 中序遍歷 inorder [9,3,15,20,7]后序遍歷 postorder [9,15,7,20,3] 返回如下的二叉樹&am…

前端跨域問題解決方法

跨域是WEB瀏覽器專有的同源限制訪問策略。(后臺接口調用和postman等工具會出現) 跨源資源共享&#xff08;CORS&#xff0c;或通俗地譯為跨域資源共享&#xff09;是一種基于 HTTP 頭的機制&#xff0c;該機制通過允許服務器標示除了它自己以外的其他源&#xff08;域、協議或端…

java項目打包運行報異常:Demo-1.0-SNAPSHOT.jar中沒有主清單屬性

檢查后發現pom文件中有錯誤&#xff0c;需要添加build內容才能恢復正常。 添加下面文件后再次啟動恢復正常。 <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactI…

C語言atoi函數將字符串類型轉換為整型

atoi() 是C標準庫中的一個函數&#xff0c;用于將字符串轉換為整數。函數原型如下&#xff1a; int atoi(const char *str); 參數 str 是一個指向要轉換的字符串的指針。atoi() 函數會嘗試將字符串中的數字部分轉換為整數&#xff0c;并返回轉換后的整數值。如果字符串中不僅包…

Add-in Express for Microsoft Office and Delphi Crack

Add-in Express for Microsoft Office and Delphi Crack 適用于Microsoft Office和Delphi VCL的Add-in Express使您能夠在幾次點擊中為Microsoft Office開發專業插件。它生成基于COM的項目&#xff0c;這些項目包含Microsoft Office外接程序或智能標記的所有必要功能&#xff0…

CTFshow web93-104關

這周要學習的是php代碼審計 根據師兄的作業 來做web入門的93-104關 93關 看代碼 進行分析 他的主函數 include("flag.php"); highlight_file(__FILE__); if(isset($_GET[num])){ $num $_GET[num]; if($num4476){ die("no no no!"); …

認識http的方法、Header、狀態碼以及簡單實現一個http的業務邏輯

文章目錄 http的方法http狀態碼http重定向http常見Header實現簡單業務邏輯Protocol.hppUtil.hppServer.hppServer.cc 效果 http的方法 方法說明支持的HTTP版本GET獲取資源1.0/1.1POST傳輸實體主體1.0/1.1PUT傳輸文件1.0/1.1HEAD獲得報文首部1.0/1.1DELETE刪除文件1.0/1.1OPTIO…

【ts】【cocos creator】excel表格轉JSON

需要將表格導出為text格式放到項目resources/text文件夾下 新建場景&#xff0c;掛載到Canvas上運行 表格文件格式&#xff1a; 保存格式選text tableToJson : import CryptoJS require(./FileSaver);const { ccclass, property } cc._decorator;ccclass export default c…

SpringBoot案例-部門管理-新增

根據頁面原型&#xff0c;明確需求 頁面原型 需求 閱讀接口文檔 接口文檔鏈接如下&#xff1a; 【騰訊文檔】SpringBoot案例所需文檔 https://docs.qq.com/doc/DUkRiTWVaUmFVck9N 思路分析 前端在輸入要新增的部門名稱后&#xff0c;會以JSON格式將數據傳入至后端&#xf…