一:显示即可
参考链接:简书

代码:

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获取摄像头视频流并翻转保存文件相关推荐

  1. opencv python 从摄像头获取视频、帧率、分辨率等属性设置和使用

    opencv python 从摄像头获取视频.帧率.分辨率等属性设置和使用 文章目录: 1,为了获取视频,你应该创建一个 VideoCapture 对象.他的参数可以是设备的索引号,或者是一个视频文件 ...

  2. python恶搞代码打开对方摄像头_用Python获取摄像头并实时控制人脸的实现示例

    实现流程 从摄像头获取视频流,并转换为一帧一帧的图像,然后将图像信息传递给opencv这个工具库处理,返回灰度图像(就像你使用本地静态图片一样) 程序启动后,根据监听器信息,使用一个while循环,不 ...

  3. 如何把OpenCV Python获取的图像传递到C层处理

    原文:https://blog.csdn.net/yushulx/article/details/52788051 用OpenCV Python来开发,如果想要用到一些C/C++的图像处理库,就需要创 ...

  4. python:获取摄像头照片

    python获取摄像头照片源码+获取授权码方法+py打包成exe 教你用python做一个属于自己的获取摄像头照片的软件. 需要安装python3.5以上版本,在官网下载即可. 然后安装库opencv ...

  5. 百度人脸识别技术应用003---百度云离线SDK_Android版_功能分析_获取摄像头视频流中的图片_发给百度人脸识别API_识别搜索_或先同步百度云人脸信息_然后本地人脸识别

    1.基于上一节,我们已经把百度云上的人脸库,建好了,然后我们可以从,百度云官网拿到, 离线人脸识别的SDK. SDK下载_文字识别SDK_语音识别SDK-百度AI开放平台 这里可以点进去下载 2.然后 ...

  6. Python SolidWorks 二次开发---SolidWorks保存文件

    Python SolidWorks 二次开发-SolidWorks保存文件 Python SolidWorks 二次开发-SolidWorks保存文件 文章目录 Python SolidWorks 二 ...

  7. 获取摄像头视频流,进行人脸识别(支持单人脸识别、车牌识别)

    真正的大师,永远都怀着一颗学徒的心! 一.项目简介 人脸识别,已经增加了车牌识别功能. 人脸识别主要步骤: 1.通过摄像头硬件获取视频流 2.针对获取的视频流进行人脸识别,将识别的人脸数据保存(此项目 ...

  8. python获取当前路径导包_python 通过文件夹导入包的操作

    通过文件夹导入包要求每个目录下都有一个__init__.py文件,此文件可空白.也可不空.a@ubuntu:~/Desktop$ tree myp myp ├── a │ ├── b.py │ └── ...

  9. python更改保存路径,Jupyter Notebook更改保存文件的默认路径(方法汇总,亲测有效)...

    Jupyter Notebook更改保存文件的默认路径(方法汇总,亲测有效) Jupyter Notebook更改保存文件的默认路径(方法汇总,亲测有效) 一.找到默认的文件保存地址 1.先创建一个文 ...

  10. python获取摄像头型号_python opencv设置摄像头分辨率以及各个参数的方法_python

    下面就为大家分享一篇python opencv设置摄像头分辨率以及各个参数的方法,具有很好的参考价值,希望对大家有所帮助.一起过来看看吧 1,为了获取视频,你应该创建一个 VideoCapture 对 ...

最新文章

  1. LeetCode简单题之图片平滑器
  2. 爬虫学习笔记(九)—— Scrapy框架(四):FormRequest、日志
  3. Flume碰到begin()is called when the transaction is open
  4. 开源软件和自由软件_自由和开源软件的经济学
  5. 华为余承东鸿蒙系统随时可以上线,华为发布鸿蒙系统,余承东称随时可替换安卓...
  6. 四川南充计算机经贸学校,四川南充工贸学校计算机应用专业秋季计划
  7. 论文句子转换软件v.1.2.3
  8. Oracle 数据库锁机制
  9. 利用计算机属性将字符串逆序输出,字符串逆序的各种实现算法
  10. c语言for循环语句试讲,C语言For循环试讲教学教案(7页)-原创力文档
  11. 阿里云oos对象存储 上手快速入门
  12. 第八章 性能优化 之 内存优化(一)
  13. 等保三级网络安全相关设备加固笔记
  14. 【自然语言处理】3. NMT机器翻译案例实战(基于TensorFlow Addons Networks with Attention Mechanism)
  15. linux中获取几天前或者几天后的日期
  16. ChinaSkills-高职组网络系统管理大赛-WinSer 2019 互联网网卡检测服务笔记
  17. 多边形颜色填充-X扫描线算法
  18. 逆变电源于滤波电感器
  19. C语言程序员必读的5本书
  20. Verilog实现八人抢答器

热门文章

  1. 标签thead与th的区别
  2. 本地已有项目上传到码云
  3. 使用Truetype字体制作ArcGIS符号
  4. 那些年陪伴我们搬砖的心灵的音乐
  5. burst什么意思_burst是什么意思
  6. 鬼压床到底是怎么回事?
  7. 萨姆休斯顿州立大学计算机专业,萨姆休斯顿州立大学排名在2020年USNEWS美国最佳综合大学排名第281...
  8. Bootstrap 学习笔记1 - CSS
  9. Springboot实现remember-me记住我功能
  10. Jupyter Notebook 工作环境配置