我在python中使用opencv库。我打开了一个现有的视频文件,并编写了一个小脚本,允许我在视频的任何地方画一个矩形。问题是:我想在视频的第一帧上画一个矩形,然后把它留在那里为我标记一个感兴趣的区域。在
我正在使用cv2.imshow(winname, frame)显示我的视频。因为它每秒以非常高的帧速率运行/显示视频(我不想改变它,因为我的视频很长),当我开始绘制矩形时,已经显示了许多帧。在
因为我认为这可能有帮助,下面是我目前为止的代码:
进口cv2#mouse callback function#
def draw_rectangle(event, x, y, flags, param):
global pt1, pt2, topLeft_clicked, bottomRight_clicked
#mouse click
if event == cv2.EVENT_LBUTTONDOWN:
#reset
if topLeft_clicked and bottomRight_clicked:
topLeft_clicked = False
bottomRight_clicked = False
pt1 = (0,0)
pt2 = (0,0)
#get coordinates of top left corner
if not topLeft_clicked:
pt1 = (x,y)
topLeft_clicked = True
#get coordinates of bottom right corner
elif not bottomRight_clicked: