python画图视频_如何在视频文件的第一帧上画图,然后继续显示整个视频

本文介绍如何利用Python的OpenCV库在视频的第一帧上画矩形,并保持该标记直至视频结束。通过定义鼠标回调函数draw_rectangle,实现点击选择矩形区域,然后在视频播放时显示这个矩形。代码示例中,首先读取视频,设置窗口和鼠标回调,然后在循环中读取每一帧,当在第一帧上选择矩形后,后续帧继续显示这个矩形直到视频结束。
摘要由CSDN通过智能技术生成

我在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:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值