Bell形(高斯)曲线的统计分析

时间:2012-04-11 06:56:36

标签: image-processing opencv statistics plot gaussian

在我的应用程序中,我正在获取包含屏幕上某些光源投影的图像(由高速摄像头拍摄)。

1 - 我的第一个任务是绘制光强度的PDF或强度分布图,其应该是钟形或高斯,因为在中心处光强度将是最大的并且在末端它将减小。像这样(例如,不是我的确切情况):  enter image description here

在最坏的情况下,我将同时照亮一系列光源。在这种情况下理论上我应该得到重叠的钟形或高斯曲线,有些像这样:enter image description here

如何根据光投影图像(如图中的图像)绘制这样的曲线?

2 - 绘制高斯曲线后,接下来的工作是分析相同的曲线,例如查找曲线的宽度和高度。我该怎么做?

我想为此应用程序提供可执行文件,因此我的客户端无法接受MATLAB或类似工具提供的解决方案。此外,我希望该解决方案能够实时或接近实时工作。

我猜OpenCV可以在这里使用。但在我开始之前,我想在这个论坛上了解图像处理专家的意见。特别是对于上面的步骤-1,我需要一些输入。

这里有指针吗?

Rgrds,

Heshsham

注意:图片来自http://pentileblog.com

2 个答案:

答案 0 :(得分:0)

要将1D高斯从高清中取出,您可以根据自己的需要做一些事情。 - 你可以对图像的每一列求和; - 您可以找到强度的局部最大值,并仅复制图像该行的强度轮廓; - 您可以对图像进行阈值处理(如果您的最大值将达到饱和状态,因此达到平台),确定剩余斑点的重心,并复制该行的强度曲线; - 您可以阈值,查找轮廓,确定多个局部最大值,并在应用程序要求时获取多个强度配置文件(例如,如果斑点未水平对齐)。

要获得高度和宽度,这很容易,只需找到最大值以及曲线下降到最大值一半的左右两点。标准偏差是两点之间的距离除以2.35(wikipedia link)。

答案 1 :(得分:0)

我解决了它:

算法如下:

1次使用cvSampleLine读取特定的图像行

2-使用cvMinMaxLoc知道行中的最大像素值

3-注意这些行中哪一行具有最高像素值。让我们说行号。 150

4-绘制第150行的像素值。

我使用MATLAB验证我的结果和图表,OpenCV结果完全相同。 谢谢你们的建议。