在拉普拉斯边缘图像中提取正确的轮廓

问题描述 投票:1回答:2

盯着看起来像这样的框架:enter image description here

[我正在使用BackgroundSubtractorMOG2来检测帧中的运动,并提取感兴趣的区域,在这些区域中我使用了二元过滤器和equalizeHist,后词应用了拉普拉斯和threshhollding。

在应用如下所示的不同图像滤镜后,通过脱阈,我得到了合理的拉普拉斯边缘和嘈杂的蒙版:enter image description here

但是,我不确定现在如何提取对象的正确轮廓(左上)以对其进行分割。

opencv computer-vision object-detection image-segmentation vision
2个回答
1
投票

这比最初看起来要复杂。我的解决方案是为此任务训练网络。如果要分割鼠标,则必须收集来自不同上下文的数百张图片。也许100已经给您满意的结果。我将使用转移学习(这意味着使用已经接受过其他数据训练的网络)。使用以下存储库并没有那么复杂:https://github.com/qubvel/segmentation_models对于数据扩充,我将使用imgaug:https://imgaug.readthedocs.io/en/latest/

使用不深入的解决方案,您可以使用纹理分析。为此,我将使用Gabor分解,您可能会看到背景和鼠标的纹理之间的差异。然而,神经似乎更简单,更时髦,需要学习的技术。

如果这就是对比度低的原因,您还应该考虑购买新的成像设备和/或红外投光器。仅与Raspberry PI的红外摄像机相比,您将获得令人难以置信的图像,并且您的检测无需任何更改即可工作。


0
投票

您可以尝试使用opencv训练Haar级联以检测鼠标。

[通常用于视频中的人脸识别/对象识别-似乎非常有效。

您可以在此处查看有关如何操作的常见问题解答:

How to create Haar Cascade (.xml file) to use in OpenCV?

如另一个答案中所述,转移学习不再繁重。您只需要训练数据-Haar也会需要。否则,您将不得不对其进行仿真。

您甚至可以考虑对鼠标进行建模🤣

© www.soinside.com 2019 - 2024. All rights reserved.