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

pt2 = (x,y)

bottomRight_clicked = True

#start actual program

#initially we haven't drawn anything

pt1 = (0,0)

pt2 = (0,0)

topLeft_clicked = False

bottomRight_clicked = False

#capture video

cap = cv2.VideoCapture('Path to video')

cv2.namedWindow(winname='myName')

cv2.setMouseCallback('myName', draw_rectangle)

firstFrame = True

while True:

ret, frame = cap.read()

gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

while ret and firstFrame:

cv2.imshow('myName', gray_frame)

if topLeft_clicked:

cv2.circle(gray_frame, center=pt1, radius=5, color=(255,0,0), thickness=-1)

if topLeft_clicked and bottomRight_clicked:

cv2.rectangle(gray_frame, pt1, pt2, (255,0,0), 2)

firstFrame = False

cv2.imshow('Estimate_Velocity', gray_frame)

if cv2.waitKey(1) &0xFF == ord('q'):

break

cap.release()

cv2.destroyAllWindows()

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

  1. 使用ffmpeg将mp4格式视频元数据信息转到视频第一帧、转换mp4为ts格式视频

    最近在研究web一些播放器,videojs\ckplayer\jwplayer等各种页面播放器,发现在播放视频的时候,有些mp4格式的视频是不能够边缓存边播放的,在网上查阅了一些资料,发现是这些mp4 ...

  2. python读取csv文件第一行_尝试读取CSV文件的第一行返回['/']

    我通过Django上传了一个CSV文件,我试着读它的第一行.文件存储在服务器上的/tmp/csv_file/test.csv 文件如下所示: ^{pr2}$ 我正在尝试获取文件的标题,例如:absol ...

  3. java读取http文件内容_使用HTTP读取文件的第一部分

    我想通过读取文件的第一部分并分析内容来确定文件的类型(通常为UTF-8).(该类型特定于我的社区,但不受我的控制,并且不受MIME / MediaType覆盖,通常为TEXT_PLAIN).我正在客户 ...

  4. formdata上传文件_封装一个多文件断点续传、分片上传、秒传、重试机制的组件...

    本文为:多文件断点续传.分片上传.秒传.重试机制 的更新版,若想看初始版本的实现,请查看该文章. 凡是要知其然知其所以然 文件上传相信很多朋友都有遇到过,那或许你也遇到过当上传大文件时,上传时间较长, ...

  5. python爬虫源代码_零基础自学爬虫(5)B站有哪些爬虫的视频学习资源-附Python源代码...

    前几天看到有人提问:.b站哪个python爬虫视频讲的较好?谢谢各位能解答一下.? 于是顺手写了一个小爬虫,把数据爬了下来. 今天有空放一下源代码. 数据源,是在B站搜索框直接搜索"爬虫&q ...

  6. python文件安全传输系统_安全的directconnect文件传输程序

    我正在考虑做一个附带的项目,将涉及到一个标准的直接连接方式文件传输.为了澄清,如果9.9.9.9想将文件发送到10.10.10.10,那么10.10.10.10将监听某个端口,然后9.9.9.9可以使 ...

  7. python恢复硬盘数据_如何恢复 macOS或Mac OS X上硬盘数据?

    Mac硬盘资料丢失原因可能如下: 重装MacOS/Mac OS X或升级系统 硬盘文件系统损坏 错误格式化没有备份的硬盘 操作不当导致分区丢失 由于分区表损坏,无法读取硬盘上资料 感染病毒 不论您遇到 ...

  8. 复旦大学python期末考试_关于2019-2020学年第一学期开学有关事项的通知

    复旦教通字[2019]77号 各院系.各位教师.各位同学: 2019-2020学年第一学期将于2019年9月9日开学.为保证开学前后各项教学相关工作有序进行,现就2019-2020学年第一学期开学有关 ...

  9. python画地球仪_如何选择纬度和经度在地球仪上形成一个“矩形”?

    我有一个在经纬度网格上的数据集.我需要从这个数据集中选择一个近乎完美的"矩形"覆盖北美.某物,但位于北美上空: 1.我如何选择纬度和经度? 因为经度向两极靠拢,所以我需要更多的经度 ...

最新文章

  1. 树上启发式合并问题 ---- D. Tree Requests [状态压缩+树上启发式合并]
  2. 208. Implement Trie (Prefix Tree)
  3. java Proxy.newProxyInstance 动态代理 简介
  4. Coursera在线学习---第十节.大规模机器学习(Large Scale Machine Learning)
  5. partial in latex
  6. wxWidgets:wxGridEvent类用法
  7. 自己都不觉得自己值钱,别人怎么觉得你值钱?
  8. ASP.NET缓存 Cache
  9. 用PPT直接修改主集成模板,并保存为pps格式,即可现场展示应用.
  10. Ubuntu完美安装QQ
  11. 计算机4级学那些课程,计算机四级考试科目是什么
  12. 随机前沿方法和数据包络分析
  13. Linux是怎么来的?终于有一篇文章讲清楚了
  14. zoj 1101 Gamblers 为什么总是WA?
  15. vue 上传音视频文件获取时长
  16. 前端工程师之华为手机如何打开开发者模式并进行手机调试查看原生APP效果。
  17. vivo手机如何投屏到电脑
  18. 【IPS安全策略配置】
  19. 基于安卓的四六级英语学习小助手app(android毕业设计)
  20. 目标检测+图像分割项目

热门文章

  1. 全站仪和手机连接软件_全站仪USB口数据线驱动-USB全站仪器数据线驱动程序下载免费版-西西软件下载...
  2. python输出一个数的每一位_Python练习实例88 | 读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。...
  3. python flask与django的区别_真正搞明白Python中Django和Flask框架的区别
  4. 从windows上传到linux服务器的php图片生成不了,windows10上用thinkphp5开发程序上传服务器后出现图片异常的问题...
  5. Python中的运算符
  6. python 中文件输入输出及os模块对文件系统的操作
  7. Python :给类或者类的对象添加打印内容 def __repr__(self)
  8. Python 定时任务的实现方式
  9. ue4移动到一定距离_UE4与Houdini锁链与绳子生成器
  10. 路由(route)是什么意思?