opencvc++记录运动时,从凸轮检测视频
OpenCv C++ record video when motion detected from cam
我试图使用一个简单的运动检测代码来检测从相机的运动。我正在使用OpenCV库,我有一些代码,需要两个帧之间的差异来检测变化。
我让差帧工作得很好,当没有运动时它是黑色的。
问题是我现在如何检测到黑暗停止记录或没有黑暗开始记录帧。
谢谢大家
一个非常简单的方法是将整个diff图像求和为一个整数。如果总和超过某个阈值,就会出现移动。然后你可以使用第二个阈值,当总和低于这个限制时,你就停止了移动。
您还可以使阈值仅在自上次阈值以来已经过了一些时间时才更改程序状态。也就是说,在检测到移动后,10秒内不检查是否没有移动
看看自由软件运动的代码,以获得鼓舞人心的想法。
有相当多的事情要记住可靠的运动检测。例如,忍受太阳自转带来的缓慢变化。或者接受瞬间的图像故障,尤其是来自最便宜的相机。
从我的一个小经验来看,我认为比仅仅把所有的差异加起来更好的是计算变化超过一定阈值的像素的数量。
Motion还提供遮罩,例如,它可以让你忽略附近道路上的移动。
如何在内部存储黑色帧并使用相同的比较代码?如果您的新帧与全黑帧不同(高于阈值),请开始录制。
这似乎是最直接的,因为你已经有了图像处理算法。
相关文章:
- 使用CMake检测支持的C++标准
- 当套接字连接断开时检测C/C++Unix
- C/C++预处理器是否可以检测一些编译器选项
- WMI检测进程创建事件-c++
- 基于树莓pi的tensorflow lite量化ssd目标检测
- 我的视频流程在运行darknet.exe以进行检测对象时崩溃了
- 使用潜在SVMDetector检测视频中的对象
- C 中视频的OpenCV Canny边缘检测
- 如何检测两个连续的视频帧是否相同
- 使用dlib的视频人脸检测
- FFmpeg C++ API 来检测视频是否旋转(在手机上拍摄)
- 检测实时视频上的冲浪点
- 如何使用支持向量机从视频中检测对象
- opencvc++记录运动时,从凸轮检测视频
- 用opencv从视频中提取帧进行检测
- 视频捕捉无法检测到uEye摄像头
- 使用OpenCV检测视频中的特定(定性)颜色
- 修改“打开CV”视频检测教程
- 如何从c++中已经存储的webm视频中检测运动
- OpenCV 2.4.10人脸检测可以在视频中工作,但不能在静态图像中检测