CRT的gamma校正

1.首先调节屏幕的brightness和contrast,前者并不是亮度,而是调节屏幕的black level,后者才是真正的亮度(不要被名称所迷惑)
调节的顺序为:
①将contrast设置至最小;②展示纯黑色图片;③调节brightness使得呈现的黑色图片是真正的黑色而不是深灰,也即再大一点就深灰了;④调节contrast至你想要屏幕呈现的亮度;⑤brightness和contrast并不是理想当中那么独立,可能需要在两者之间来回微调才能达到满意的效果;⑥真正的黑色理想状态是用亮度计测量屏幕没有一丝丝光亮,但是实际仍然是有的,只需记得屏幕的这两项指标最好处于中间数值才能发挥屏幕的最好性能即可
第一点来自文献2002“BRIGHTNESS” and “CONTRAST” controls by Charles Poynton
2.测量CRT屏幕各通道的呈现特性,若没有专业的分光计之类的可以用spyder系列作为平替
嘛我自己用的是spyder x和2021Developing a low-cost method to measure and calibrate luminance and color: validation and tutorial文章提供的程序来测量的,程序可以在https://github.com/yangzhangpsy/PsyCalibrator网站下载,可按照附带的readme文件进行操作
由于我不单单想要校正灰阶,是想对红、绿、蓝三个通道都校正,在测量时执行代码gammaMeasure_APL(2,[],[],[],[],[],[],2);(第一个2是spyder x的意思)即可获得每个通道的xyY值(注意测量之前需要显示器至少预热一个小时,测量环境尽量黑暗无一点光亮)
3.在MATLAB的app模块中的曲线拟合器,可获得gamma值,注意在选择数据时不要收录x为零的值,否则拟合不出来(x为单通道RGB值,y为所测亮度值)


4.依据每一通道的gamma值可获得每一通道的gammaTable(可以百度代码或者直接有自动生成的网站),此处我用python代码生成

可以转换为整数,我的实验程序里面有转换整数的步骤就不转了
最后用三个通道结合的gammaTable会比用灰阶生成的gammaTable更加精准,没有bit loss,尤其对于呈现颜色的实验比较友好(单纯是担心自己忘记怎么校正gamma所以记下过程)