【问题标题】:Statistical analysis on Bell shaped (Gaussian) curve钟形(高斯)曲线的统计分析
【发布时间】:2012-04-12 19:48:41
【问题描述】:

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

1-我的第一个任务是绘制光强度的 PDF 或强度分布图,它应该呈钟形或高斯形状,因为在中心,光强度将最大,而在末端它会减弱。像这样(例如,不是我的确切情况):

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

在给定光投影图像的情况下(如图所示),我如何绘制这样的曲线?

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

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

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

这里有什么建议吗?

Rgrds,

赫什沙姆

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

【问题讨论】:

  • 强度没有理由必须服从正态分布。你可以做出这样的假设,但我认为没有任何收获。为了取得进展,您需要对您打算进行的分析更加精确。目前这太模糊了。
  • 目前我已经弄清楚我将如何进行第 1 部分。我必须扫描一行图像并记下像素值。绘制时,它将是一个钟形曲线。我将使用 openCV 来读取和处理图像。
  • @gpuguy 您应该尝试更准确地回答您的问题。目前,要了解您有哪些输入以及您正在尝试实现哪些输入并不容易。
  • @Simon 我只想绘制 Blob 的强度分布图。很抱歉我在某处使用了 PDF 一词。

标签: image-processing opencv statistics plot gaussian


【解决方案1】:

要从 2D 中提取 1D 高斯,您可以根据自己的实际需要做几件事。 - 你可以总结图像的每一列; - 您可以找到强度的局部最大值并仅复制该行图像的强度分布; - 您可以对图像进行阈值处理(以防您的最大值将饱和并因此处于平稳状态),确定剩余斑点的重心,并复制该行的强度分布; - 如果应用程序需要它(例如,如果斑点未水平对齐),您可以阈值、查找轮廓、确定多个局部最大值并获取多个强度配置文件。

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

【讨论】:

  • 您的第二段很好地解释了我在问题的第 2 部分中想要什么。
【解决方案2】:

好吧,我解决了:

算法如下:

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

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

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

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

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

【讨论】:

    最近更新 更多