【问题标题】:Remove noise from the computed optical flow从计算的光流中去除噪声
【发布时间】:2014-04-02 22:24:53
【问题描述】:
我计算灰度视频的光流,除了有用的信息外,它还包含真白和嘈杂的黑色补丁。我想删除那些补丁,因为相应的光流是愚蠢的。
这些补丁位于图像的边缘,并且它们的大小因视频而异。我的目标是通过光流提取描述视频中有用信息的边界框。
如何计算这个边界框?或者至少,我怎样才能去除这些区域中的计算光流?
编辑:我看到了你的答案。我会在下周末尝试然后回来讨论这个问题。坦克你!
【问题讨论】:
标签:
c++
opencv
computer-vision
【解决方案1】:
从光流中去除噪声可能是一项复杂的任务。一种简单而虚拟的方法是对光流矢量强度使用阈值。
但是,如果您只需要找到边界框,为什么不使用简单的背景/运动对象分割呢?与 MOG、GMG 一样,opencv 对它们有很好的实现,它们运行良好且速度非常快。见this教程。
【解决方案2】:
很难理解问题是什么,如果噪音是灰度图像中的真白和嘈杂的黑色斑块,如你所说,那么我建议你看看腐蚀和膨胀。更多信息可以在这里找到:Eroding and Dilating
如果这不是您所要求的,请发布一些带有补丁和评论的示例图像,以便我可以更清楚地了解问题所在。干杯。
【解决方案3】:
如果我理解正确,您会在灰色/白色或基本均匀的斑块中获得嘈杂的光流。一种简单的方法是将图像分成小块并计算每个块的熵。现在,可以通过选择适当的阈值来丢弃熵非常低的补丁,因为它们不包含太多信息。