2012-04-11 284 views
0

在我的应用程序中,我得到了包含屏幕上某些光源投影的图像(由高速相机捕获)。钟形(高斯)曲线的统计分析

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

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

如何绘制这样一条给定光投影图像(如图中所示)的曲线?

2-绘制高斯曲线后,接下来的工作是分析相同的内容,例如查找曲线的宽度和高度。我该如何去做这件事?

我想为此应用程序提供一个可执行文件,因此我的客户不能接受由MATLAB或类似工具提供的解决方案。我也希望解决方案能够实时或接近实时地工作。

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

任何指针?

Rgrds,

Heshsham

注:图像从http://pentileblog.com服用。

+1

没有理由为什么强度必须遵循正态分布。你可以做出这样的假设,但我从中看不到任何东西。为了取得进展,您需要对您打算进行的分析更加精确。目前这太模糊了。 – 2012-04-11 07:14:08

+0

目前我已经知道我将如何进行第1部分。我必须扫描一行图像并记下像素值。当绘制时,它将是一个钟形曲线。我将使用openCV来读取和处理图像。 – gpuguy 2012-04-11 11:07:27

+0

@ gpuguy你应该试着更准确地回答你的问题。现在要了解你有什么投入并且你正在努力达成什么并不容易。 – Simon 2012-04-11 12:01:25

回答

0

那么我解决了它:

算法如下:

1使用cvSampleLine用于读取图像使用cvMinMaxLoc的

2- particual线知道在一条线上的最大像素值

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

4-剧情像素值I用MATLAB用于验证我的结果和图表,和OpenCV的结果是完全一样的。 感谢您的建议家伙。

0

要从2D中获得一维高斯,您可以根据自己想要的精确度做几件事。 - 您可以总结图像的每一列; - 您可以在强度中找到局部最大值,并仅复制该行图像的强度轮廓; - 您可以对图像进行阈值处理(如果您的最大值会饱和并因此出现平台),确定剩余斑点的重心,并复制该行的强度轮廓; - 您可以设定阈值,查找轮廓,确定多个局部最大值,并在应用程序需要时获取多个强度配置文件(例如,如果斑点未水平对齐)。

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

+0

你的第二段很好地解释了我想问的第二部分。 – gpuguy 2012-04-12 06:02:42