【问题标题】:Image processing..back ground subtraction图像处理..背景减法
【发布时间】:2012-06-01 18:41:25
【问题描述】:

我有一系列从相机拍摄的图像。图像由手和周围环境组成。我需要移除除手以外的所有东西。

我是图像处理的新手。关于上述问题,有人可以帮助我吗?我习惯使用 C 和 Matlab。

【问题讨论】:

    标签: c matlab image-processing computer-vision background-subtraction


    【解决方案1】:

    如果您有一个固定的背景和一只移动的手(以及很多图像!),一个非常简单的方法就是从每张图像中取一组图像的平均值。如果不出意外,这是对 Matlab 的温和介绍。

    【讨论】:

    • +1 表示简单的方法。有时,图像中“最常见的像素值”同样简单且效果更好。
    【解决方案2】:

    您要解决的问题的名称是“图像分割”。此处的维基百科页面:wiki 是一个好的开始。

    如果照明一致性对您来说不是问题,我建议您从简单的 RGB 阈值开始,并在尝试更复杂的方法之前先看看它能让您走多远。

    【讨论】:

      【解决方案3】:

      查看OpenCV,这是一个用于计算机视觉应用的 FOSS 库。具体来说,请参阅Video Surveillance 模块。有关 MATLAB 中背景减法的演练,请参阅EETimes article

      【讨论】:

        【解决方案4】:

        你能指定你有什么样的图像。背景是移动的还是静止的?对于静态背景,它有点简单。您只需从背景图像中减去传入图像。您可以使用一些形态学操作使其看起来更好。它们都取决于您拥有的图像质量。如果您有移动背景,我建议您进行基于颜色的分割。将图像转换为 YCbCr,然后适当地阈值。我知道上面有一些可用的文件(但是我没有时间找到它们)。我建议先阅读它们。这是一个可能对您有所帮助的链接。阅读皮肤分割部分。

        http://www.stanford.edu/class/ee368/Project_03/Project/reports/ee368group08.pdf

        【讨论】:

          【解决方案5】:

          背景减法很容易实现(将背景估计为所有帧的平均值,然后从背景和阈值中减去每一帧,从而产生绝对差),但不幸的是,只有在 1. 相机具有手动增益和曝光 2. 照明条件没有的情况下才能正常工作变化 3.background 是静止的。 4. 背景比前景可见的时间长。

          鉴于您的描述,我认为情况并非如此-因此您可以使用-正如已经指出的-是颜色作为从背景中分割前景的一种手段。因为这是一手牌,所以你要隔离最好的选择是学习手牌的颜色。 opencv 提供了一些方法来做到这一点。如果您想自己执行此操作,您只需获取一些手部像素的颜色(您需要为至少一帧手动指定此颜色)并将它们转换为 HUE(它以独立于亮度的方式封装颜色。肤色具有非常恒定的色调),然后制作色调直方图。将其与其余像素进行比较,然后确定色调是否足够相似。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-09-05
            • 2023-03-12
            • 1970-01-01
            • 2017-05-03
            • 2022-01-26
            • 2016-02-27
            • 1970-01-01
            相关资源
            最近更新 更多