如何在图像上生成概率分布

时间:2019-01-28 01:52:23

标签: image-processing probability gaussian

我有一个问题,如下:

假设我有一个图像(大小= 360x640(逐行显示)),并且我有一个中心坐标,即(20,100)。我想要的是生成一个概率分布,该概率分布在该中心具有最高的值(20,100),而在邻域中具有较低的概率值,而其值远比该中心低得多。

我想出的只是放一个多元高斯(因为尺寸为2D)并将均值设置为中心(20,100)。但这是正确的,我该如何设计协方差矩阵?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以通过生成径向和极坐标以2D方式实现

沿线:

Pi = 3.1415926
cx = 20
cy = 100

r = sqrt( -2*log(1-U(0,1)) )
a = 2*Pi*U(0,1)

x = scale*r*cos(a)
y = scale*r*sin(a)

return (x + cx, y + cy)

其中scale是使它从无单位高斯变为适用于您的问题的某个单位的参数。 U(0,1)的[0 ... 1)随机值是统一的。

参考:Box-Muller sampling

如果要使用通用2D高斯,即2D椭圆,则必须对X和Y使用不同的比例,并使用众所周知的旋转矩阵按预定角度旋转(x,y)向量