gpt4 book ai didi

optimization - "high contrast"曲线的快速公式

转载 作者:行者123 更新时间:2023-12-03 15:55:29 32 4
gpt4 key购买 nike

我的内部循环包含一个计算,分析显示有问题。

这个想法是采用灰度像素 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),即它应该是“对称的”
  • 优选地,该函数应该是平滑的。

  • 所以图形必须是这样的:

    Graph .

    我有两个实现(它们的结果不同,但都一致):
    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;
    }

    因此,我请求对这些实现之一进行微优化,或者您自己的原始、更快的公式。

    也许你们中的一个人甚至可以摆弄这些位 ;)

    最佳答案

    考虑以下 sigmoid -形函数(正确转换为所需范围):

  • error function
  • normal CDF
  • tanh
  • logit

  • screenshot

    我使用MATLAB生成了上图。如果有兴趣这里是代码:
    x = -3:.01:3;
    plot( x, 2*(x>=0)-1, ...
    x, erf(x), ...
    x, tanh(x), ...
    x, 2*normcdf(x)-1, ...
    x, 2*(1 ./ (1 + exp(-x)))-1, ...
    x, 2*((x-min(x))./range(x))-1 )
    legend({'hard' 'erf' 'tanh' 'normcdf' 'logit' 'linear'})

    关于optimization - "high contrast"曲线的快速公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1479980/

    32 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com