- byte gammaCorrectionTable[256] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4,
- 4, 5, 5, 6, 6, 7, 7, 8, 9, 9, 10, 10, 11, 12, 12, 13, 14, 15,
- 16, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
- 31, 33, 34, 35, 36, 37, 39, 40, 41, 43, 44, 45, 47, 48, 50, 51,
- 53, 54, 56, 57, 59, 61, 62, 64, 66, 67, 69, 71, 73, 74, 76, 78,
- 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 109,
- 111, 113, 115, 118, 120, 122, 125, 127, 129, 132, 134, 137, 139,
- 142, 144, 147, 149, 152, 154, 157, 160, 162, 165, 168, 170, 173,
- 176, 179, 181, 184, 187, 190, 193, 196, 199, 202, 205, 208, 211,
- 214, 217, 220, 223, 226, 229, 233, 236, 239, 242, 245, 249, 252,
- 255
- };
说明:- 这个数组中的每个元素对应于原始亮度值经过伽马校正后的值,输入范围为 0-255。
- 当伽马值为γ=2.2 时,亮度值经过伽马校正后,较低的值会保持更小,较大的值增加得更快,从而形成非线性的亮度感知。
- 例如,输入亮度值 127(接近中间值),校正后的输出值为 102,这反映了人眼对亮度的非线性感知。
你可以使用类似的方法生成不同伽马值的查找表。如果伽马值变化,表中的数据也会随之改变。