opencv 学习第二课 摄像头、外部视频读取、处理、显示、写入 代码注释版 保证你每一行都能读懂
1. 使用摄像头捕捉图像,将其转换为灰度帧后,输出视频图像
import numpy as np
import cv2 as cv cap = cv.VideoCapture(0)while(True):# 一帧一帧的捕捉ret,frame = cap.read()# 将每一帧从RGB转换成灰度gray = cv.cvtColor(frame,cv.COLOR_BGR2GRAY)#显示捕捉的结果帧cv.imshow('frame',gray)#按q退出if cv.waitKey(1) & 0xFF==ord('q'):break#释放摄像头
cap.release()
#释放所有窗口
cv.destroyAllWindows()
2. 读取外部的彩色视频,将其转换为灰度帧后显示视频
import numpy as np
import cv2 as cv cap = cv.VideoCapture('D:/test.mp4')#播放视频
while(cap.isOpened()):# 一帧一帧的捕捉ret,frame = cap.read()# 将每一帧从RGB转换成灰度gray = cv.cvtColor(frame,cv.COLOR_BGR2GRAY)#显示捕捉的结果帧cv.imshow('frame',gray)#按q退出,参数为1ms播放速度较快,一般设为25毫秒if cv.waitKey(25) & 0xFF==ord('q'):break#释放视频
cap.release()
#释放所有窗口
cv.destroyAllWindows()
3. 摄像头捕捉彩色图像,设置输出视频的格式,将捕捉到的帧镜像化后输出到程序所在目录
import numpy as np
import cv2 as cv # 打开摄像头
cap = cv.VideoCapture(0)
# 写入视频的格式为XVID
fourcc = cv.VideoWriter_fourcc(*'XVID')
# 第三个参数为fps 第四个参数为视频大小
out=cv.VideoWriter('output.avi',fourcc,20.0,(640,480))while(cap.isOpened()):ret,frame = cap.read()if ret==True:# 将帧水平翻转(参数为1)frame = cv.flip(frame,1)# 将帧写入output.aviout.write(frame)# 窗口显示处理过的帧cv.imshow('frame',frame)if cv.waitKey(1) & 0xFF == ord('q'):breakelse:break# 释放摄像头
cap.release();
# 释放输出的视频
out.release();
# 释放所有窗口
cv.destroyAllWindows()
参考文献:https://docs.opencv.org/4.0.1/d2/de8/group__core__array.html#gaca7be533e3dac7feb70fc60635adf441
我要成为一名优秀的图像处理专家!
opencv 学习第二课 摄像头、外部视频读取、处理、显示、写入 代码注释版 保证你每一行都能读懂相关推荐
- opencv 学习第一课 图像读取、显示、写入 代码注释版 保证你每一行都能读懂
import numpy as np import cv2 as cvimg = cv.imread('cat.jpg',0) #读入图片 cv.imshow('image1',img) #显示图片 ...
- opencv 学习第三课 画线段 圆 椭圆 矩形 多边形 插入文字 代码注释版 保证你每一行都能读懂
import numpy as np import cv2 as cv # 创建一张大小为512×512,通道数为3的黑色的图片 img = np.zeros((512,512,3), np.uint ...
- C++下opencv学习笔记(一)(图像的简单读取丶显示与存储)
C++下opencv学习笔记(一)(图像的简单读取丶显示与存储) 前言 学习C++ OpenCV,第一需要具备面向对象语言的基础,第二要对图像处理机器学习有基础了解,容易入门.觉得自己基础已经有了可以 ...
- 用gcc生成静态库和动态库和使用opencv库编写打开摄像头压缩视频
文章目录 一.用gcc生成静态库和动态库 1.编辑生成程序hello.h.hello.c.main.c 2.将hello.c生成.o文件 3.使用静态库 4.动态库的使用 二.a与.so库文件的生成与 ...
- Python-opencv学习第二课:图像色彩
Python-opencv学习第二课:图像色彩 文章目录 Python-opencv学习第二课:图像色彩 一.学习内容 二.代码部分 NOTES:上一课代码改善(第一课) 1.引入库(第二课内容开始) ...
- as3学习第二课 显示对象和显示列表
关于显示对象 原文地址:as3学习第二课 显示对象和显示列表 作者:冰剑蓝影 一.显示对象 显示对象就是可以在舞台上显示的对象.包括直接看到的对象,如图形.文字.图片.视频.还有看不到但又真 ...
- JavaScript学习 第二课(二)
JavaScript学习 第二课(二) 一.Math对象: 该对象的作用是用来处理数学运算符的,该对象不需要手动创建,因为它是window对象的一个属性,当页面加载完毕后,后台就是自动创建Math对象 ...
- 开始Python学习第二课(python环境安装)
*** 开始Python学习第二课*** 一. Python语言简介 1. Python语言 1.1 Python的命名 2. Python基本概念 2.1 Python的简单介绍 2.2 Pytho ...
- H.265/HEVC 简述 第二课(数字视频格式)
目录 零.前言 一.数字视频 二.数字视频格式 三.H.265/HEVC编码视频格式 零.前言 本系列博客是对H.265/HEVC视频编码进行一个简单的介绍,主要介绍大致的编码框架和流程,不涉及算法和 ...
最新文章
- php 自定义表格并统计,PHP 使用Echarts生成数据统计报表的实现
- ajax post 参数说明
- 嗨:VSCode和IDEA都请安装上这个神奇的插件
- RDKit | 基于RDKit的氨基酸序列转换为SMILES
- oracle数据库查表_oracle数据库常用的99条查询语句
- Linux数据报文接收发送总结7
- 学会用好 Visual Studio Code
- 正则表达式是匹配模式,要么匹配字符,要么匹配位置
- 一个开源的强类型客户端(.NET 中的 Open Fegin)— Rabbit Go
- 嵌入式Jetty和Apache CXF:借助Spring Security来保护REST服务
- 帮助你在移动设备上生成倾斜控制(重力控制)的旋转效果jQuery插件 - lenticular.js...
- 数据库迁移Flyway
- .Net程序集强签名详解
- Android BroadcastReceiver示例教程
- 把已经写好的Vue项目转成uni-app项目
- 【HAVENT原创】让 axios 支持 jsonp
- 开发者百宝箱——DevToys
- 知乎页面的html代码,仿知乎当复制网页内容时在尾部加入版权信息代码
- 怎样用MATLAB画二次函数曲线,matlab画二次函数图像
- 娱乐_3D相册(HTML)_七夕
热门文章
- python有趣小程序-Python全栈开发-有趣的小程序
- python3入门代码-Python3零基础自学方法?
- 第D题 把手放在键盘上时,稍不注意就会往右错一位。
- ubuntu mysql自动补全_mysql自动化安装脚本(ubuntu and centos64)
- 【python笔记】:字典类型详解
- python的整除运算_Python3基础 ** 幂运算 // 整除运算
- php中的class的用法,PHP get_class_vars() 函数用法及示例
- 连接池配置oracle aix,一次AIX系统swap使用过高的故障解决过程
- c语言串的存储操作完整,c语言中关于串的相关知识以及操作
- php和gps终端设备通讯,运输车辆GPS定位+语音对讲通讯方案