CRT的gamma校正

1.首先調(diào)節(jié)屏幕的brightness和contrast,前者并不是亮度,而是調(diào)節(jié)屏幕的black level,后者才是真正的亮度(不要被名稱所迷惑)
調(diào)節(jié)的順序?yàn)椋?/p>
①將contrast設(shè)置至最?。虎谡故炯兒谏珗D片;③調(diào)節(jié)brightness使得呈現(xiàn)的黑色圖片是真正的黑色而不是深灰,也即再大一點(diǎn)就深灰了;④調(diào)節(jié)contrast至你想要屏幕呈現(xiàn)的亮度;⑤brightness和contrast并不是理想當(dāng)中那么獨(dú)立,可能需要在兩者之間來回微調(diào)才能達(dá)到滿意的效果;⑥真正的黑色理想狀態(tài)是用亮度計(jì)測(cè)量屏幕沒有一絲絲光亮,但是實(shí)際仍然是有的,只需記得屏幕的這兩項(xiàng)指標(biāo)最好處于中間數(shù)值才能發(fā)揮屏幕的最好性能即可
第一點(diǎn)來自文獻(xiàn)2002“BRIGHTNESS” and “CONTRAST” controls by?Charles Poynton
2.測(cè)量CRT屏幕各通道的呈現(xiàn)特性,若沒有專業(yè)的分光計(jì)之類的可以用spyder系列作為平替
嘛我自己用的是spyder x和2021Developing a low-cost method to measure and calibrate luminance and color: validation and tutorial文章提供的程序來測(cè)量的,程序可以在https://github.com/yangzhangpsy/PsyCalibrator網(wǎng)站下載,可按照附帶的readme文件進(jìn)行操作
由于我不單單想要校正灰階,是想對(duì)紅、綠、藍(lán)三個(gè)通道都校正,在測(cè)量時(shí)執(zhí)行代碼gammaMeasure_APL(2,[],[],[],[],[],[],2);(第一個(gè)2是spyder x的意思)即可獲得每個(gè)通道的xyY值(注意測(cè)量之前需要顯示器至少預(yù)熱一個(gè)小時(shí),測(cè)量環(huán)境盡量黑暗無(wú)一點(diǎn)光亮)
3.在MATLAB的app模塊中的曲線擬合器,可獲得gamma值,注意在選擇數(shù)據(jù)時(shí)不要收錄x為零的值,否則擬合不出來(x為單通道RGB值,y為所測(cè)亮度值)


4.依據(jù)每一通道的gamma值可獲得每一通道的gammaTable(可以百度代碼或者直接有自動(dòng)生成的網(wǎng)站),此處我用python代碼生成

可以轉(zhuǎn)換為整數(shù),我的實(shí)驗(yàn)程序里面有轉(zhuǎn)換整數(shù)的步驟就不轉(zhuǎn)了
最后用三個(gè)通道結(jié)合的gammaTable會(huì)比用灰階生成的gammaTable更加精準(zhǔn),沒有bit loss,尤其對(duì)于呈現(xiàn)顏色的實(shí)驗(yàn)比較友好(單純是擔(dān)心自己忘記怎么校正gamma所以記下過程)