我的内部循环包含一个分析显示有问题的计算。
这个想法是采用灰度像素 x (0 <= x <= 1),并“增加其对比度”。我的要求相当宽松,如下:
- 对于 x < .5, 0 <= f(x) < x
- 对于 x > .5,x < f(x) <= 1
- f(0) = 0
- f(x) = 1 - f(1 - x),即它应该是“对称的”
- 优选地,该函数应该是平滑的。
所以图表必须看起来像这样:
.
我有两个实现(它们的结果不同但都是一致的):
float cosContrastize(float i) {
return .5 - cos(x * pi) / 2;
}
float mulContrastize(float i) {
if (i < .5) return i * i * 2;
i = 1 - i;
return 1 - i * i * 2;
}
因此,我要求对这些实现之一进行微优化,或者您自己的原始、更快的公式。
也许你们中的一个人甚至可以旋转这些位;)