当前位置: 首页 > news >正文

【P14 3-6 】OpenCV Python——视频加载、摄像头调用、视频基本信息获取(宽、高、帧率、总帧数)

文章目录

  • 1 读取本地视频
    • 1.1 绝对路径 4种方式
    • 1.2 相对路径 4种方式
    • 1.3 读取本地视频
  • 2 视频基本信息
  • 3 调用摄像头

P14 3-6

1 读取本地视频

1.1 绝对路径 4种方式

#cap=cv2.VideoCapture('E:\\Python\\opencv-master源码\\opencv-master\\opencv\\轮廓\\video.mp4')
#cap=cv2.VideoCapture("E:\\Python\\opencv-master源码\\opencv-master\\opencv\\轮廓\\video.mp4")
#cap=cv2.VideoCapture('E:/Python/opencv-master源码/opencv-master/opencv/轮廓/video.mp4')
cap=cv2.VideoCapture("E:/Python/opencv-master源码/opencv-master/opencv/轮廓/video.mp4")

1.2 相对路径 4种方式

1.3 读取本地视频

import cv2
from cv2 import WINDOW_NORMAL
import numpy as np# cv2.namedWindow('video',WINDOW_NORMAL)
cap=cv2.VideoCapture("E:/Python/opencv-master源码/opencv-master/opencv/轮廓/video.mp4")while True:ret,frame=cap.read()cv2.imshow('video',frame)key=cv2.waitKey(20)#当按下q键,退出视频,qASCII值=113,Q=81,还可以写成ord('q')#if(key & 0xff ==ord('q')):if(key == 113):breakcv2.destroyWindow()

在这里插入图片描述

2 视频基本信息


if(cap.read()):w=cap.get(CAP_PROP_FRAME_WIDTH)h=cap.get(CAP_PROP_FRAME_HEIGHT)fps=cap.get(CAP_PROP_FPS)count=cap.get(CAP_PROP_FRAME_COUNT)print('视频中图像宽度:%d' %(w))print('视频中图像高度:%d' %(w))print('视频的帧率:%d' %(fps))print('视频总帧数:%d' %(count))

在这里插入图片描述

3 调用摄像头

import cv2#创建VideoWriter为写多媒体文件
fourcc = cv2.VideoWriter_fourcc(*'MJPG')
vw = cv2.VideoWriter('./out.mp4', fourcc, 25, (1280, 720))#创建窗口
cv2.namedWindow('video', cv2.WINDOW_NORMAL)
cv2.resizeWindow('video', 640, 360)#获取视频设备/从视频文件中读取视频帧
cap = cv2.VideoCapture(0)#判断摄像头是否为打开关态
while cap.isOpened():#从摄像头读视频帧ret, frame = cap.read()if ret == True:#将视频帧在窗口中显示cv2.imshow('video', frame)#重新将窗口设备为指定大小cv2.resizeWindow('video', 640, 360)#写数据到多媒体文件vw.write(frame)#等待键盘事件,如果为q,退出key = cv2.waitKey(1)if(key & 0xFF == ord('q')):breakelse:break#释放VideoCapture
cap.release()#释放VideoWriter
vw.release()#vw.release()
cv2.destroyAllWindows()

在这里插入图片描述

http://www.dtcms.com/a/334128.html

相关文章:

  • C++ string类操作全解析(含模拟实现)
  • 高等数学 8.4 空间直线及其方程
  • [Linux] Linux硬盘分区管理
  • AI 搜索时代:引领变革,重塑您的 SEO 战略
  • MySQL异步连接池的学习(五)
  • PHP反序列化的CTF题目环境和做题复现第2集_POP链构造
  • 生产环境Redis缓存穿透与雪崩防护性能优化实战指南
  • 马拉松|基于SSM的马拉松报名系统微信小程序的系统设计与实现(源码+数据库+文档)
  • 【数据分享】大清河(大庆河)流域上游土地利用
  • Java设计模式详细解读
  • 双向SSL认证之Apache实战配置
  • 【分数求和1】
  • LintCode第116题-跳跃游戏
  • 【leetcode】5 最长回文子串 动态规划法
  • Horse3D游戏引擎研发笔记(六):在QtOpenGL环境下,仿Unity的材质管理Shader绘制四边形
  • AI云电脑盒子技术分析——从“盒子”到“算力云边缘节点”的跃迁
  • 【运维心得】三步更换HP笔记本电脑外壳
  • 电路方案分析(二十一)笔记本电脑散热风扇参考设计
  • OBOO鸥柏丨75寸/86平板企业办公会议触控一体机核心国产化品牌招投标参数
  • OpenCV Python——图像拼接(一)(图像拼接原理、基础知识、单应性矩阵 + 图像变换 + 拼接)
  • 国外护理学专业期刊Top10分析评介
  • 知识点汇总LinuxC高级 -1
  • 【嵌入式FreeRTOS#7】中断管理实验
  • 《C++进阶之继承多态》【多态:概念 + 实现 + 拓展 + 原理】
  • MoE及其优化技术->COMET(字节)
  • Spring MVC 九大组件源码深度剖析(三):ThemeResolver - 动态换肤的奥秘
  • 国产碳化硅模块及顶部散热的11种封装产品介绍应用
  • 标准瓦片层级0~20,在EPSG:4326坐标系下,每个像素点代表的度数
  • Spring AI Starter和文档解读
  • AI应用安全 - Prompt注入攻击