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

时间:2020-01-24 13:34:39

标签: opencv computer-vision object-detection image-segmentation vision

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

我正在使用BackgroundSubtractorMOG2来检测帧中的运动并提取感兴趣的区域,在该区域中我将使用二元过滤器和equalizeHist方法,而后缀则应用拉普拉斯算术和threshhollding。

在像下面这样应用不同的图像滤镜之后,通过阈值处理,我得到了合理的拉普拉斯边缘和嘈杂的蒙版: enter image description here

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

2 个答案:

答案 0 :(得分:1)

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

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

如果这就是为什么对比度太低的原因,那么您还应该考虑购买新的成像设备和/或红外光投影仪。与树莓派相比,只有Raspberry PI的红外摄像头才能获得令人难以置信的图像,并且您的检测可能会保持不变。

答案 1 :(得分:0)

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

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

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

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

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

您甚至可以考虑对鼠标进行模板化

相关问题