如何在Python的Opencv Cam窗口中提供开始,停止,捕获和关闭按钮 [英] How to give Start, stop, capture and close buttons in Opencv Cam window in Python
本文介绍了如何在Python的Opencv Cam窗口中提供开始,停止,捕获和关闭按钮的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何在视频捕获窗口中使用开始",停止",捕获"和关闭"按钮来启动,停止,拍摄快照和关闭窗口?
How to give start, stop, capture, and close buttons in video capture window to start, to stop, to take snapshot, to close the window?
我正在使用以下代码打开摄像机进行视频流传输:
I am using the below code to to open camera for video streaming:
import cv2.cv as cv
cv.NamedWindow("camera", 1)
capture = cv.CaptureFromCAM(0)
while True:
img = cv.QueryFrame(capture)
cv.ShowImage("camera", img)
if cv.WaitKey(10) == 27:
break
推荐答案
无法使用按钮,但是您可以使用鼠标单击和按键来控制视频.例如,使用鼠标左键切换播放/暂停并通过击键实现记录:
Buttons aren't possible but you can use mouse clicks and key strokes to control your video. For example, use left click to toggle play/pause and implement record via key stroke:
import cv2
run=False
frame=0
path=#some video path
def foo(event, x, y, flags, param):
global run
global frame
#check which mouse button was pressed
#e.g. play video on left mouse click
if event == cv2.EVENT_LBUTTONDOWN:
run= not run
while run:
frame+=1
frame=cap.read()[1]
cv2.imshow(window_name, frame)
key = cv2.waitKey(5) & 0xFF
if key == ord("v"):
pass
#do some stuff on key press
elif event == cv2.EVENT_RBUTTONDOWN:
pass
#do some other stuff on right click
window_name='videoPlayer'
cv2.namedWindow(window_name)
cv2.setMouseCallback(window_name, foo)
cap=cv2.VideoCapture(path)
这篇关于如何在Python的Opencv Cam窗口中提供开始,停止,捕获和关闭按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文