如何在opencv python中单击鼠标按钮在播放的视频上绘制形状
首先,我应该承认这是一个相当长的问题,我没有通过谷歌搜索找到可能的解决方案 我有一段视频,其中一个入侵者试图闯入围栏的另一边 我可以跟踪入侵者,但当他在另一边时,我应该能够将入侵持续时间保存到一个文件中。入侵区域应该是这样的 我认为这些步骤:如何在opencv python中单击鼠标按钮在播放的视频上绘制形状,python,opencv,mouseevent,video-capture,Python,Opencv,Mouseevent,Video Capture,首先,我应该承认这是一个相当长的问题,我没有通过谷歌搜索找到可能的解决方案 我有一段视频,其中一个入侵者试图闯入围栏的另一边 我可以跟踪入侵者,但当他在另一边时,我应该能够将入侵持续时间保存到一个文件中。入侵区域应该是这样的 我认为这些步骤: I. Reading a video file; II. Getting the very first frame displayed, 1. Pausing the video playback; 2. Manually drawing in
I. Reading a video file;
II. Getting the very first frame displayed,
1. Pausing the video playback;
2. Manually drawing intrusion area on that frame with a mouse; (making draw and reset buttons as events maybe)
3. Replaying the video again
III. Waiting for the intruder to appear, etc. (III part is not important)
到目前为止,我已经完成了I和II(愚蠢,我知道),应该完成步骤II的1、2、3子部分
import cv2
file = "intrusion.mp4"
capture = cv2.VideoCapture(file)
ret, firstFrame= capture.read()
while True:
cv2.imshow("First Frame", firstFrame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cv2.destroyAllWindows()
我希望你能给出你的建议和指示
PS:参考任何相关帖子、博客或链接,我很高兴发现添加cv2。waitKey(0)将无限期暂停您的while循环!只有在按下任何键后,它才会恢复
我想你想要实现的是使用背景减法的目标跟踪。看看它是否符合你的要求
编辑:
我猜你想为入侵区域画一个徒手形状!会指引你去做的。我希望这有帮助谢谢你的链接,我已经看过了。目前我在跟踪方面没有问题,我只想在视频帧上画一个形状,这样就可以将绘制的区域保留为入侵区域。我的程序中已经有一个跟踪模块。无论如何,非常感谢!嗨,看看我的最新答案!你要找的东西已经被问到并回答了(部分)。我已经给出了答案的链接,我已经更新了我的答案。看一看是的,我看到了,但我不能概括我的情况,在链接中,它是一个图像,我的是视频帧,我可以画一个形状,但它应该继续播放,我失败了。