python opencv3 窗口显示摄像头的帧
git:https://github.com/linyi0604/Computer-Vision
# coding:utf8 import cv2 """
在窗口显示摄像头帧 namedWindow() 指定窗口名
imshow() 创建窗口
DestroyWindow() 销毁所有窗口
waitKey() 获取键盘输入
setMouseCallback() 获取鼠标输入 """
"""
opencv窗口只有调用waitKey()后才能实时更新
waitKey() 只有窗口创建后才能捕获键盘
""" clicked = False def onMouse(event, x, y, flags, param):
global clicked
if event == cv2.EVENT_LBUTTONUP:
clicked = True cameraCapture = cv2.VideoCapture(0) # 传入摄像头设备的索引
cv2.namedWindow("MyWindow") # 设置窗口名称
cv2.setMouseCallback("MyWindow", onMouse) # 传入窗口名称和响应捕获的函数
"""
setMouseCallback() 第二个参数接收一个回调函数
回调事件可以取值如下:
cv2.EVENT_MOUSEMOVE 鼠标移动
cv2.EVENT_LBUTTONDOWN 左按键按下
cv2.EVENT_RBUTTONDOWN 右按键按下
cv2.EVENT_MBUTTONDOWN 中间键按下
cv2.EVENT_LBUTTONDBLCLK 双击左键
cv2.EVENT_RBUTTONDBLCLK 双击右键
cv2.EVENT_MBUTTONDBLCLK 双击中间 鼠标回调的标志参数可能是以下事件的桉位组合:
cv2.EVENT_FLAG_LBUTTON 按下鼠标左键
cv2.EVENT_FLAG_RBUTTON 按下鼠标右键
cv2.EVENT_FLAG_MBUTTON 按下中间
cv2.EVENT_FLAG_CTRLKEY 按下ctrl键
cv2.EVENT_FLAG_SHITKEY 按下shift键
cv2.EVENT_FLAG_ALTKEY 按下alt键
""" print("点击窗口或者按键停止") success, frame = cameraCapture.read()
while success and cv2.waitKey(1) == -1 and not clicked:
cv2.imshow("MyWindow", frame)
success, frame = cameraCapture.read() cv2.destroyAllWindows()
cameraCapture.release()
python opencv3 窗口显示摄像头的帧的更多相关文章
- python控制窗口显示隐藏
import win32con # 定义 import win32gui # 界面 import time # 时间 QQ= win32gui.FindWindow("TXGuiFounda ...
- 在Jetson TX2上显示摄像头视频并使用python进行caffe推理
参考文章:How to Capture Camera Video and Do Caffe Inferencing with Python on Jetson TX2 与参考文章大部分都是相似的,如果 ...
- python+opencv选出视频中一帧再利用鼠标回调实现图像上画矩形框
最近因为要实现模板匹配,需要在视频中选中一个目标,然后框出(即作为模板),对其利用模板匹配的方法进行检测.于是需要首先选出视频中的一帧,但是在利用摄像头读视频的过程中我唯一能想到的方法就是: 1.在视 ...
- 在Jetson TX2上捕获、显示摄像头视频
参考文章:How to Capture and Display Camera Video with Python on Jetson TX2 与参考文章大部分都是相似的,如果不习惯看英文,可以看看我下 ...
- Python初学——窗口视窗Tkinter
此篇文章是跟着沫凡小哥的视频学习的,附上学习网址:https://morvanzhou.github.io/tutorials/python-basic/ 什么是 tkinter 窗口1.1 什么是 ...
- python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色)
python cmd 窗口 中文乱码 解决方法 (附:打印不同颜色) 前言 在 python 开发中,有时候想通过cmd窗口来和用户交互,比如显示信息之类的,会比自己创建 GUI 来的方便,但是随之而 ...
- 运行python程序不显示cmd方法
运行python程序不显示cmd方法 Pythonw xxx.py 将*.py改成*.pyw,然后执行*.pyw Python.exe和pythonw.exe不同: 执行时没有控制台窗口 所有向原有的 ...
- Windows MFC 两个OpenGL窗口显示与线程RC问题
问题为:背景界面是一个OpenGL窗口(对话框),在其上弹出一个OpenGL窗口(模态对话框)时, 1.上方的OpenGL窗口能响应鼠标操作等并刷新: 2.当移动或放大缩小上方的OpenGL窗口时,其 ...
- 关于ajax载入窗口使用RedirectToAction在窗口显示的问题
在过滤器中过滤用户是否登录,没有登录就RedirectToAction("Login", "Auth", new { Area = "Account& ...
随机推荐
- input限制
转载,暂未使用,可以借鉴. 出处:http://blog.csdn.net/a13590394462/article/details/73943785
- centos7.2安装php7.2
Centos 7源码编译安装 php7.2 原文地址:https://renwole.com/archives/29 介绍: 先安装php依赖包,否则在编译安装php7的过程当中会出现各种报错,安装完 ...
- Ubuntu: HDF5报错: HDF5 header version与HDF5 library不匹配
今天在执行一个用到hdf5的python脚本时,遇到如下错误 Warning! ***HDF5 library version mismatched error*** The HDF5 header ...
- 【译】第二篇 Replication:分发服务器的作用
本篇文章是SQL Server Replication系列的第二篇,详细内容请参考原文. 分发服务器是SQL Server复制的核心组件.分发服务器控制并执行数据从一个服务器移动到另一个服务器的进程. ...
- 如何在ie6/ie7/ie8中实现iframe背景透明
最近做了一个项目,涉及到ie8iframe背景透明的问题,做了老半天,才把它搞定的,现在把我的经历贴出来和大家分享: 众所周知的根据W3C CSS 2.1 规范规定,''''background-co ...
- java递归遍历获取目录下所有文件
import java.io.File; import java.util.ArrayList; import java.util.List; public class GetFiles { Arra ...
- linux系统时钟和硬件时钟不一致
在做DB2 集群复制的时候要求两台主机时间相互一致. 但是在一台主机上系统时间和硬件时间相差12个小时左右:手动同步后,重启后又相差12个小时左右. 为什么会是这样的,先介绍下系统时钟和硬件时钟的区别 ...
- 07 go语言
Home Alexey Palazhchenko edited this page on 9 Jul · 89 revisions Welcome to the Go wiki, a collec ...
- 记一次对 Laravel-permission 项目的性能优化
我最近研究分析了在 SWIS上面创建的项目的性能.令人惊讶的是,最耗费性能的方法之一是优秀的 spatie/laravel-permission 包造成的. 经过查阅更多资料和研究,发现一个可能明显 ...
- Robust Mesh Watermarking
之前看了一篇题为"Robust Mesh Watermarking"的论文,查阅资料的时候发现了一篇与之很相似的名为"三维模型数字水印系统的设计与实现"的中文论 ...