opencv+python获取摄像头视频流并翻转保存文件
一:显示即可
参考链接:简书
代码:
import cv2
import numpy as np# 调用usb摄像头
camera_id = 0
cap = cv2.VideoCapture(camera_id)# 显示
while True:ret, frame = cap.read()if ret == True:new_video = cv2.flip(frame, 0)#视频旋转cv2.flip(frame, 1)第一个参数表示要旋转的视频# 第二个参数表示旋转的方向,0表示绕x轴旋转,大于0的数表示绕y轴旋转,小于0的负数表示绕x和y轴旋转。cv2.imshow("window_before", frame)cv2.imshow("window_after", new_video)# 如果输入 esc 退出程序boardkey = cv2.waitKey(1) & 0xFFif boardkey == 27:break
# 关闭
cap.release()
cv2.destroyAllWindows()
输出结果:
before:
after:参数设置为0,绕x轴旋转
after:参数设置为180,绕y轴旋转
after:参数设置为-180,绕x轴和y轴旋转
二、保存视频
参考链接:保存视频
代码:
import cv2
import os #用于处理文件
import time
import numpy as np# 调用usb摄像头
camera_id = 0
cap = cv2.VideoCapture(camera_id)width = cap.get(cv2.CAP_PROP_FRAME_WIDTH) # 获取摄像头width
height = cap.get(cv2.CAP_PROP_FRAME_HEIGHT) # 获取摄像头height
size = (int(width), int(height))fourcc = cv2.VideoWriter_fourcc(*'DIVX') # 定义编解码器并创建VideoWriter对象
# 参数还可以 DIVX,XVID,MJPG,X264,WMV1,WMV2。
path = os.getcwd() # 获取当前路径
vpath = path + '\Video' # 视频目录if not (os.path.exists(vpath)):# print('n') #没有就建一个os.makedirs(vpath)
# 创建VideoWriter,用于写视频
out_before = cv2.VideoWriter(vpath + '\\' + time.strftime(r"%Y-%m-%d_%H-%M-%S", time.localtime()) + '_before.mp4', fourcc, 24.0, size)
out_after = cv2.VideoWriter(vpath + '\\' + time.strftime(r"%Y-%m-%d_%H-%M-%S", time.localtime()) + '_after.mp4', fourcc, 24.0, size)
# 显示
while True:ret, frame = cap.read()if ret == True:new_video = cv2.flip(frame, -180)#视频旋转cv2.flip(frame, 1)第一个参数表示要旋转的视频# 第二个参数表示旋转的方向,0表示绕x轴旋转,大于0的数表示绕y轴旋转,小于0的负数表示绕x和y轴旋转。out_before.write(frame)out_after.write(new_video)cv2.imshow("window_before", frame)cv2.imshow("window_after", new_video)# 如果输入 esc 退出程序boardkey = cv2.waitKey(1) & 0xFFif boardkey == 27:break# 关闭
cap.release()
out_before.release()
out_after.release()
cv2.destroyAllWindows()
输出结果:
生成两段视频,after是before的翻转视频。
opencv+python获取摄像头视频流并翻转保存文件相关推荐
- opencv python 从摄像头获取视频、帧率、分辨率等属性设置和使用
opencv python 从摄像头获取视频.帧率.分辨率等属性设置和使用 文章目录: 1,为了获取视频,你应该创建一个 VideoCapture 对象.他的参数可以是设备的索引号,或者是一个视频文件 ...
- python恶搞代码打开对方摄像头_用Python获取摄像头并实时控制人脸的实现示例
实现流程 从摄像头获取视频流,并转换为一帧一帧的图像,然后将图像信息传递给opencv这个工具库处理,返回灰度图像(就像你使用本地静态图片一样) 程序启动后,根据监听器信息,使用一个while循环,不 ...
- 如何把OpenCV Python获取的图像传递到C层处理
原文:https://blog.csdn.net/yushulx/article/details/52788051 用OpenCV Python来开发,如果想要用到一些C/C++的图像处理库,就需要创 ...
- python:获取摄像头照片
python获取摄像头照片源码+获取授权码方法+py打包成exe 教你用python做一个属于自己的获取摄像头照片的软件. 需要安装python3.5以上版本,在官网下载即可. 然后安装库opencv ...
- 百度人脸识别技术应用003---百度云离线SDK_Android版_功能分析_获取摄像头视频流中的图片_发给百度人脸识别API_识别搜索_或先同步百度云人脸信息_然后本地人脸识别
1.基于上一节,我们已经把百度云上的人脸库,建好了,然后我们可以从,百度云官网拿到, 离线人脸识别的SDK. SDK下载_文字识别SDK_语音识别SDK-百度AI开放平台 这里可以点进去下载 2.然后 ...
- Python SolidWorks 二次开发---SolidWorks保存文件
Python SolidWorks 二次开发-SolidWorks保存文件 Python SolidWorks 二次开发-SolidWorks保存文件 文章目录 Python SolidWorks 二 ...
- 获取摄像头视频流,进行人脸识别(支持单人脸识别、车牌识别)
真正的大师,永远都怀着一颗学徒的心! 一.项目简介 人脸识别,已经增加了车牌识别功能. 人脸识别主要步骤: 1.通过摄像头硬件获取视频流 2.针对获取的视频流进行人脸识别,将识别的人脸数据保存(此项目 ...
- python获取当前路径导包_python 通过文件夹导入包的操作
通过文件夹导入包要求每个目录下都有一个__init__.py文件,此文件可空白.也可不空.a@ubuntu:~/Desktop$ tree myp myp ├── a │ ├── b.py │ └── ...
- python更改保存路径,Jupyter Notebook更改保存文件的默认路径(方法汇总,亲测有效)...
Jupyter Notebook更改保存文件的默认路径(方法汇总,亲测有效) Jupyter Notebook更改保存文件的默认路径(方法汇总,亲测有效) 一.找到默认的文件保存地址 1.先创建一个文 ...
- python获取摄像头型号_python opencv设置摄像头分辨率以及各个参数的方法_python
下面就为大家分享一篇python opencv设置摄像头分辨率以及各个参数的方法,具有很好的参考价值,希望对大家有所帮助.一起过来看看吧 1,为了获取视频,你应该创建一个 VideoCapture 对 ...
最新文章
- LeetCode简单题之图片平滑器
- 爬虫学习笔记(九)—— Scrapy框架(四):FormRequest、日志
- Flume碰到begin()is called when the transaction is open
- 开源软件和自由软件_自由和开源软件的经济学
- 华为余承东鸿蒙系统随时可以上线,华为发布鸿蒙系统,余承东称随时可替换安卓...
- 四川南充计算机经贸学校,四川南充工贸学校计算机应用专业秋季计划
- 论文句子转换软件v.1.2.3
- Oracle 数据库锁机制
- 利用计算机属性将字符串逆序输出,字符串逆序的各种实现算法
- c语言for循环语句试讲,C语言For循环试讲教学教案(7页)-原创力文档
- 阿里云oos对象存储 上手快速入门
- 第八章 性能优化 之 内存优化(一)
- 等保三级网络安全相关设备加固笔记
- 【自然语言处理】3. NMT机器翻译案例实战(基于TensorFlow Addons Networks with Attention Mechanism)
- linux中获取几天前或者几天后的日期
- ChinaSkills-高职组网络系统管理大赛-WinSer 2019 互联网网卡检测服务笔记
- 多边形颜色填充-X扫描线算法
- 逆变电源于滤波电感器
- C语言程序员必读的5本书
- Verilog实现八人抢答器