指数衰变周围的边界框

我真的不知道怎么说这个问题,这很奇怪。 我有一个强度值的1d数组和一个边界框(数组中的整数起点和终点)。我想保持边界框内的值相同,但是以指数方式减小框外的值(即它们离它们越远它们越少)。应该看起来像一个高斯的高斯,在边界框的位置。任何人都可以举例说明我该如何做到这一点?今晚我的大脑不能正常工作,谢谢。 更新: 我用过这个:
if (j < low) a[j] *= Logistic(t*(j + (6f/t) - low));
else if (j > high) a[j] *= Logistic(-t*(j - (6f/t) - high));

private double Logistic(double x)
{
    return (1 / (1 + Math.Exp(-x)));
}
    
已邀请:
就像是
if (n<low)
  a[n] *=  exp(-t*(low-n));
else if (n>high)
  a[n] *=  exp(-t*(n-high));
else 
  a[n] *=  1.0;
用参数t?实际上,可以省略最后的其他分支。     
你问如何以指数方式减少,任意接近0吗?
value = 1 / e^(distance)
或者当你进一步向外移动时,首先快速增加并且缓慢增加的东西,即。指数的倒数?
value = ln(distance)
如果你想要有类似的东西(起初快速增加,慢慢地越走越远),那么这个答案就是在sigmoid曲线上。     
你想要切断高斯的驼峰吗? 高斯就像
I = I_0 exp(-aX^2)
。你在
X
处有
I
,是你边界框宽度的一半。然后你可以玩
I_0
a
直到得到你想要的东西(选择
I_0
得到相应的
a
,反之亦然)。 (另外,
X
偏移到边界框的中心。上面的公式适用于
X
= 0。)     

要回复问题请先登录注册