【问题标题】:Connecting Fragmented regions in an image using Matlab使用 Matlab 连接图像中的碎片区域
【发布时间】:2015-03-12 16:08:52
【问题描述】:

您好,我正在尝试检测一个人。为此,我从前景中减去背景以获得前景蒙版。我将输出与前景图像相乘以取回该人。这里的问题是我有时会得到碎片化的面具。有没有办法可以将片段连接在一起以获得正确的图像?我使用 GMM(高斯混合模型)来减去背景。

【问题讨论】:

    标签: matlab image-processing computer-vision


    【解决方案1】:

    您可以使用mathematical morphology。在我的脑海中,我会尝试按顺序在面具上应用以下操作:

    1. 使用垂直内核(即结构元素)应用膨胀,其尺寸或多或少与站立的人的尺寸相同。这里的目标是垂直连接像素。
    2. 然后应用侵蚀过滤器,以恢复更逼真的形状。
    3. 最后,以与您相同的方式使用遮罩。

    查看有关膨胀和腐蚀形态操作的 Matlab 文档,here

    【讨论】:

    • 嗨!!!感谢您的回复。应用膨胀和侵蚀也是我的第一种方法。问题在于它合并了许多其他片段。我的代码: se = strel('line',5,90); dilateddBW = imdilate(BW,se);
    • 还有什么碎片,你的意思是噪音吗?使用高斯混合应消除任何噪声。好吧,如果噪声是问题,首先应用侵蚀过滤器,然后扩张(这两个操作使用相同的内核,这个操作实际上称为Opening)。这样你就可以摆脱噪音了。你需要得到确切的形状吗?在大多数应用程序中,只要您有博客可以关注就足够了。
    • 我的意思是,要关注的 blob,而不是博客 :-)
    • 首先应用腐蚀使我在其他一些图像中将底部全部松开。您的建议在非常有限的情况下很有帮助。我正在使用步态,所以腿非常重要。谢谢。
    • 那么你可能不得不使用机器学习。看看这个:researchgate.net/post/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-08
    • 2014-05-13
    • 2012-07-23
    • 2023-03-12
    • 1970-01-01
    相关资源
    最近更新 更多