繁体   English   中英

如何在C ++中使用OpenCV检测相机视觉上的降雨

[英]How detect rain on camera vision using OpenCV in C++

如何在C ++中使用OpenCV识别相机视觉上的降雨?
或者,如果有人在相机上粘贴贴纸,如何用C ++中的OpenCV识别它? 或者,如果有人向相机投掷颜色,我如何使用C++ OpenCV检测它?

检测这些相机视觉:

  1. 贴纸
  2. 颜色

这是贴纸的示例视频!
相机视觉贴纸

如果是贴纸,您只需要寻找一个不会随时间变化的大型暗区。

在颜色的情况下,分析图像颜色统计 - 如果有人在相机上喷涂一些油漆(你的意思是“投掷颜色”?),一些颜色将占据所有其他颜色的主导地位。

您还可以尝试通过减去帧并检测不会随时间变化的图像区域来处理这两种情况。

您可能希望使用机器学习来查找阈值(例如区域大小,其形状属性,例如宽度/长度比,连续性等),用于决定何时将某些东西视为贴纸/颜色或其他内容。

至于下雨,我想几句话都没有简单的答案。 但是网上有一些文章可用。 也就是说,我猜想通过安装外部雨量传感器(比如在汽车中激活刮水器)来检测降雨会更简单,更便宜,而不是通过为此目的开发自己的计算机视觉算法来尝试这样做。

这听起来像一个有趣的项目,相机可以自动检测障碍物(油漆,贴纸,雨)。 很可能需要安装摄像机而不会有障碍物,以便可以学习预期的图像。 如果使用场景允许,则不会非常困难。贴纸和雨水会导致与预期图像的强烈永久性偏差,而下雨会导致图像噪声。

使用C ++或Python的OpenCV可以帮助解决这类问题,因为那里已经实现了复杂的计算机视觉算法。 开始使用需要一些时间,但之后OpenCV并不难。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM