1. 伽馬校正的γ校正
所有CRT顯示設備都有冪-律轉換特性,如果生產廠家不加說明,那麼它的γ 值大約等於2.5。用戶對發光的磷光材料的特性可能無能為力去改變,因而也很難改變它的γ值。為使整個系統的γ 值接近於使用所要求的γ 值,起碼就要有一個能夠提供γ 校正的非線性部件,用來補償CRT的非線性特性。
在所有廣播電視系統中,γ 校正是在攝像機中完成的。最初的NTSC電視標准需要攝像機具有γ =1/2.2=0.45的冪函數,採納γ=0.5的冪函數。PAL和SECAM電視標准指定攝像機需要具有γ =1/2.8=0.36的冪函數,但這個數值已顯得太小,因此實際的攝像機很可能會設置成γ =0.45或者0.5。使用這種攝像機得到的圖像就預先做了校正,在γ =2.5的CRT屏幕上顯示圖像時,屏幕圖像相對於原始場景的γ 大約等於1.25。這個值適合「暗淡環境」下觀看。
過去的時代是「模擬時代」,而今已進入「數字時代」,進入計算機的電視圖像依然帶有γ =0.5的校正,這一點可不要忘記。雖然帶有γ 值的電視在數字時代工作得很好,尤其是在特定環境下創建的圖像在相同環境下工作。可是在其他環境下工作時,往往會使顯示的圖像讓人看起來顯得太亮或者太暗,因此在可能條件下就要做γ 校正。
在什麼地方做γ 校正是人們所關心的問題。從獲取圖像、存儲成圖像文件、讀出圖像文件直到在某種類型的顯示屏幕上顯示圖像,這些個環節中至少有5個地方可有非線性轉換函數存在並可引入γ 值。例如:
camera_gamma:攝像機中圖像感測器的γ (通常γ =0.4或者0.5)
encoding_gamma:編碼器編碼圖像文件時引入γ
decoding_gamma :解碼器讀圖像文件時引入γ
LUT_gamma:圖像幀緩存查找表中引入γ
CRT_gamma:CRT的γ (通常g =2.5)
在數字圖像顯示系統中,由於要顯示的圖像不一定就是攝像機來的圖像,假設這種圖像的γ 值等於1,如果encoding_gamma=0.5,CRT_gamma=2.5和decoding_gamma,LUT_gamma都為1.0時,整個系統的γ 就近似等於1.25。
根據上面的分析,為了在不同環境下觀看到「原始場景」可在適當的地方加入γ 校正。
2. python的svm里的gamma值太大太小會怎樣
太大了容易過擬合,太小了又無法在訓練集上得到特別高的准確率,也會影響測試集的准確率
3. 什麼是伽瑪校正(Gamma Correction)
所謂伽瑪校正就是對圖像的伽瑪曲線進行編輯,以對圖像進行非線性色調編輯的方法,檢出圖像信號中的深色部分和淺色部分,並使兩者比例增大,從而提高圖像對比度效果。計算機繪圖領域慣以此屏幕輸出電壓與對應亮度的轉換關系曲線,稱為伽瑪曲線(Gamma Curve)。以傳統CRT(Cathode Ray Tube)屏幕的特性而言,該曲線通常是一個乘冪函數,Y=(X+e)γ,其中,Y為亮度、X為輸出電壓、e為補償系數、乘冪值(γ)為伽瑪值,改變乘冪值(γ)的大小,就能改變CRT的伽瑪曲線。典型的Gamma值是0.45,它會使CRT的影像亮度呈現線性。使用CRT的電視機等顯示器屏幕,由於對於輸入信號的發光灰度,不是線性函數,而是指數函數,因此必需校正。
4. Gamma校正的步驟
需要兩個基本步驟補償 gamma 變化:
校準輸出顯示設備,以使軟體生成的中間色調精確地復制到顯示設備上。在「首選項」對話框(顯示 Gamma)的 Gamma 面板中進行此項操作。
通過渲染器和文件輸入到軟體,確定要應用於文件輸出的 gamma 值,例如紋理貼圖。這個控制項也位於「首選項」對話框(文件 Gamma)中的 Gamma 面板中。
gamma 校正中最重要的一條規則就是只做一次校正。如果做兩次的話,圖像質量會過亮並損失顏色解析度。
對於輸出文件的 gamma,視頻設備(例如錄像機)擁有自己的硬體 gamma 校正電路。因此,需要決定由軟體進行輸出 gamma 校正還是讓輸出設備進行處理。
硬拷貝列印介質不需要進行 Gamma 校正。
通過 Adobe Photoshop 這樣的程序導入本軟體的文件已經進行了 gamma 校正。如果在同一個監視器上查看這些文件覺得效果不錯,則不需要設置輸入文件 gamma。
5. Gamma校正的原理
校正原理
液晶電視機顯示器由於液晶屏紅綠藍三色電光特性不一致,表現為各個灰階的顏色差異較大,需要校正各個灰階的顏色。尤其暗場的灰階誤差非常明顯,無法通過白平衡調節來清除各灰階的顏色誤差。只有各灰階的顏色一致後,方能通過亮暗場的白平衡調節,將色溫調節到要求的色溫。另一方面液晶電視機顯示器的亮度比較高,為了增加液晶電視機顯示器的透亮度,更好地表現顏色,需要對液晶電視機顯示器的亮度進行非線性校正。這些,都需要通過對液晶電視機顯示器進行GAMMA校正來完成。校正GAMMA曲線後,可以實現如下目的:暗場灰階的顏色明顯改善,各灰階的顏色誤差明顯減少,暗場顏色細節分明,圖像亮度顏色一致,透亮度好,對比明顯。同一尺寸不同屏的電視對顏色表現的明顯一致
6. Gamma校正系數是什麼啊
所謂gamma校正系數,是一個范圍在0.1~10之間的數字,軟體默認的gamma校正系數值是1。數字越大,圖片的亮度也就越高。假如你感覺截取的圖片太暗或者太亮的話,就可以通過調節它的大小來改變圖片的亮度。
7. python有gamma函數嗎
math模塊中有
import math
>>> math.gamma(6)
120
8. 顯示器太亮了,請問怎麼調整Gamma值
顯示器太亮了,、調整Gamma值的方式是:調亮度和對比度,對比度控制在50就可以了。若太亮,主要就是調亮度。可以適當調低些,如果怎麼調都覺得亮,那應該是屏的特性如此,調也沒用。
色彩管理中提到的「Gamma 校正」,一般是指在色值(或信號數值)的編碼 / 解碼過程中,對數值進行的非線性處理——簡而言之,對輸入數值進行一次冪運算(可能會再乘以某個系數),然後得到輸出數值。上述冪運算中使用到的冪值,通常記作 gamma (γ)。
一個最簡單的例子:
這個關系式中,數值「2.2」就是一個解碼 gamma 值,常見於輝度(luminance)校正。
9. 怎樣改變電腦gamma值
Gamma源於CRT(顯示器/電視機)的響應曲線,即其亮度與輸入電壓的非線性關系。
為什麼要改變電腦的GAMMA值呢?原因如下:
顯示器由於液晶屏紅綠藍三色電光特性不一致,表現為各個灰階的顏色差異較大,需要校正各個灰階的顏色。尤其暗場的灰階誤差非常明顯,無法通過白平衡調節來清除各灰階的顏色誤差。只有各灰階的顏色一致後,方能通過亮暗場的白平衡調節,將色溫調節到要求的色溫。另一方面液晶顯示器的亮度比較高,為了增加液晶電視機顯示器的透亮度,更好地表現顏色,需要對液晶電視機顯示器的亮度進行非線性校正。這些,都需要通過對液晶顯示器進行GAMMA校正來完成。校正GAMMA曲線後,可以實現如下目的:暗場灰階的顏色明顯改善,各灰階的顏色誤差明顯減少,暗場顏色細節分明,圖像亮度顏色一致,透亮度好,對比明顯。
如何改變電腦的GAMMA值呢?方法如下:
單擊PowerStrip圖標,在彈出的快捷菜單中選擇[Color Profies]}[Con figure]菜單命令,打開「Color Profiles」對話框。對話框中的第一個滑塊就是用於調節「Gamma」值的,其默認值為1.00,若想改變該值,直接拖動滑塊即可,不過在拖動的同時,屏幕會有很明顯的變化,Gamma值越大,屏幕顯示就越「亮」,反之屏幕會越「暗」,如果對所調整的設置不滿意,可以單擊下面的「Reset」按鈕來恢復,若希望進行比較精確的調整,可使用方向鍵來控制數值的增減。
重點來了!
請您注意。gamma 校正中最重要的一條規則就是只做一次校正。如果做兩次的話,圖像質量會過亮並損失顏色解析度。
10. 直方圖匹配Python的偏差校正問題,怎麼解決
用一下代碼解決:
import numpy as np
import matplotlib.pyplot as plt
from scipy.interpolate import interp1d
import scipy.stats as st
sim = st.gamma(1,loc=0,scale=0.8) # Simulated
obs = st.gamma(2,loc=0,scale=0.7) # Observed
x = np.linspace(0,4,1000)
simpdf = sim.pdf(x)
obspdf = obs.pdf(x)
plt.plot(x,simpdf,label='Simulated')
plt.plot(x,obspdf,'r--',label='Observed')
plt.title('PDF of Observed and Simulated Precipitation')
plt.legend(loc='best')
plt.show()
plt.figure(1)
simcdf = sim.cdf(x)
obscdf = obs.cdf(x)
plt.plot(x,simcdf,label='Simulated')
plt.plot(x,obscdf,'r--',label='Observed')
plt.title('CDF of Observed and Simulated Precipitation')
plt.legend(loc='best')
plt.show()
# Inverse CDF
invcdf = interp1d(obscdf,x)
transfer_func = invcdf(simcdf)
plt.figure(2)
plt.plot(transfer_func,x,'g-')
plt.show()