我正在使用 Opencv 2.4.5 和 python 2.7 来跟踪视频监控中的人。一开始我使用 .avi 和 .mpeg 视频来测试我的代码,现在我想使用 hcv-m100c 相机。我使用帧之间的简单差异(与每个帧相比的初始帧)来识别运动中的对象,它适用于我拥有的 .avi 和 .mpeg 视频,但是当我使用相机时,结果非常糟糕因为我的视频中出现了很多噪音和污点。我认为问题出在我的相机上,但我用同一个相机制作了一个 .avi 视频,我用我的代码测试了那个视频,它工作正常。现在,我正在使用 cv2.BackgroundSubtractorMOG 但问题仍然存在。所以,我认为我在使用相机时需要进行预处理
问问题
1943 次
1 回答
1
只是为了完整性:
解决方案理念:
可能您可以使用 ffmpeg之类的东西流式传输摄像机,它也可以转码,然后使用 OpenCV 读取网络流。使用VLC流式传输可能更容易。
解决方案详情:
VLC 流代码(外壳):
vlc "http://192.168.180.60:82/videostream.cgi?user=admin&pwd=" --sout "#transcode{vcodec=mp2v,vb=800,scale=1,acodec=mpga,ab=128,channels=2,samplerate=??44100}:duplicate{dst=rtp{sdp=rtsp://:8554/output.mpeg},dst=display}" --sout-keep
OpenCV 代码(Python):
cap=cv2.VideoCapture("rtsp://:8554/output.mpeg")
于 2013-06-28T00:48:55.697 回答