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

opencv调取摄像头录制

  大家好,我是csdn的博主:lqj_本人

这是我的个人博客主页:

lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm=1011.2415.3001.5343哔哩哔哩欢迎关注:小淼前端

小淼前端的个人空间_哔哩哔哩_bilibili

本篇文章主要讲述python的人工智能视觉领域(opencv),本篇文章已经成功收录python人工智能视觉(opencv)从入门到实战专栏中:

https://blog.csdn.net/lbcyllqj/category_12200666.htmlicon-default.png?t=N176https://blog.csdn.net/lbcyllqj/category_12200666.html

 视频录制

VideoWriter

参数1为:输出文件;

参数2为:多媒体文件格式VideoWriter_fourcc;

参数3为:帧数

参数4为:分辨率

write编写并写入缓存

release缓存内容写入磁盘,并释放资源

1.导入cv库及定义窗口

import cv2 #导入cv2库cv2.namedWindow('frame', cv2.WINDOW_NORMAL)  # 创建一个窗口名字为window
cv2.resizeWindow('frame', 800, 600)  # 更改窗口的大小

2.调用摄像头

cap = cv2.VideoCapture(0)

3.指定输出视频的格式

# *mp4v就是解包操作 等同于 'm','p','4','v'
fourcc = cv2.VideoWriter_fourcc(*'mp4v')

4.设置输出视频的属性

属性一:output.mp4——定义输出后的视频名字

属性二:fourcc——指定视频的格式(根据上一条代码的赋值)

属性三:20——设置帧数

属性四:(640,480)——设置摄像头的分辨率

vw = cv2.VideoWriter('output.mp4',fourcc,20,(640,480))

5.判断摄像头是否正确打开

while cap.isOpened():ret,frame = cap.read()if not ret:break

6.写入每一帧数据,并显示窗口

vw就是4.命令行中定义并赋值过的vw

    vw.write(frame)cv2.imshow('frame',frame)

7.监听键盘按键退出

    if cv2.waitKey(10) == ord('q'):break

8.释放窗口资源

cap为打开的摄像头的资源

vw为写入数据资源

cap.release()
vw.release()
cv2.destroyAllWindows()

完整学习代码

import cv2 #导入cv2库cv2.namedWindow('frame', cv2.WINDOW_NORMAL)  # 创建一个窗口名字为window
cv2.resizeWindow('frame', 800, 600)  # 更改窗口的大小cap = cv2.VideoCapture(0)
# *mp4v就是解包操作 等同于 'm','p','4','v'
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
#主要是这个分辨率
#output.mp4输出后的视频名字,fourcc指定的视频格式,20:帧数,(640,480)摄像头的分辨率
vw = cv2.VideoWriter('output.mp4',fourcc,20,(640,480))while cap.isOpened():ret,frame = cap.read()if not ret:break#写每一帧的数据vw.write(frame)cv2.imshow('frame',frame)if cv2.waitKey(10) == ord('q'):break#释放videowriter
cap.release()
vw.release()
cv2.destroyAllWindows()

结果显示

运行后就会录制并保存我们摄像头所录制的全部内容

 

相关文章:

opencv调取摄像头录制

大家好,我是csdn的博主:lqj_本人 这是我的个人博客主页: lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011.2415.3001.5343哔哩哔哩欢迎关注…...

html标签手册

完整的HTML页面&#x1f4d1; ①基础标签&#x1f4d1;&#x1f4d1;&#x1f4d1; HTML <!DOCTYPE> 声明 !DOCTYPE声明必须是 HTML 文档的第一行&#xff0c;位于 html标签之前。 !DOCTYPE 声明不是 HTML 标签&#xff1b;它是指示 web 浏览器关于页面使用哪个 HTML 版…...

SpringMVC--视图、RESTful案例、处理AJAX请求

SpringMVC的视图 SpringMVC中的视图是View接口&#xff0c;视图的作用渲染数据&#xff0c;将模型Model中的数据展示给用户 SpringMVC视图的种类很多&#xff0c;默认有转发视图和重定向视图 当工程引入jstl的依赖&#xff0c;转发视图会自动转换为JstlView 若使用的视图技术为…...

一个同学升了leader,今年活还没干,他就已经想好组里成员的两次绩效考核怎么打了,还说:leader都是这样的!...

绩效是大家都比较关注的事情&#xff0c;那么作为领导&#xff0c;一般是怎么打绩效的呢&#xff1f;一位网友爆料&#xff1a;一个大学同学升了leader&#xff0c;前段时间跟他吃饭&#xff0c;他说他已经想好了今年组里成员的两次绩效考核怎么打了。该网友有点吃惊&#xff0…...

Docker 面试知识点

Docker 是什么&#xff1f; 是实现容器技术的一种工具是一个开源的应用容器引擎使用 C/S 架构模式&#xff0c;通过远程API 来管理 (我们本机是 C&#xff0c;docker 引擎是 S,实际的构建过程是在 docker 引擎下完成的)可以打包一个应用及依赖包到一个轻量级、可移植的容器中 …...

C++高级篇学习笔记

文章目录 前言 本文记录C一些面试难点问题剖析。 1. 左右值和右值引用的作用 左值&#xff1a;可以在左边&#xff0c;表达式结束后依然存在的持久对象&#xff0c;一般有名字&#xff0c;可以取地址。 提示&#xff1a; 前置自加/自减 可以做左值&#xff1b; 右值在右边&a…...

gentoo基本安装过程

该文章是本人在gentoo官方安装文档的基础上简单总结的&#xff0c;也是本人自己实践过的&#xff0c;目前本人用的就是gentoo&#xff0c;对于真的需要安装gentoo的朋友&#xff0c;建议还是参考官方文档&#xff0c;说的比较详细&#xff0c;这个可以简单看看&#xff0c;可以…...

【LeetCode】1234. 替换子串得到平衡字符串

1234. 替换子串得到平衡字符串 题目描述 有一个只含有 ‘Q’, ‘W’, ‘E’, ‘R’ 四种字符&#xff0c;且长度为 n 的字符串。 假如在该字符串中&#xff0c;这四个字符都恰好出现 n/4 次&#xff0c;那么它就是一个「平衡字符串」。 给你一个这样的字符串 s&#xff0c;…...

[动手写操作系统]-01-开机运行系统

文章目录 **概念和目标**概念目标理论源码概念和目标 概念 assembler: 汇编程序BIOS: BIOS(Basic Input Output System,基本输入输出系统)是个可编程的微型操作系统,用于管理计算机中的软硬件,它控制着系统的启动,系统是如何连接外部设备,怎样响应,调整相应操作,都是…...

最长回文子序列问题

最长回文子序列问题 问题描述&#xff1a;给你一个字符串 s &#xff0c;找出其中最长的回文子序列&#xff0c;并返回该序列的长度。 子序列定义为&#xff1a;不改变剩余字符顺序的情况下&#xff0c;删除某些字符或者不删除任何字符形成的一个序列。 注意是子序列而不是子…...

月薪11k!从财务专员到软件测试工程师,成都校区小哥哥用三个月实现转行换岗

好久没和大家分享学员的转行经历了&#xff0c;或许在一些人看来他们的故事与自己无关&#xff0c;但同样也能引起一些人的共鸣&#xff0c;可以帮助到那些陷于就业焦虑的同学找到目标和方向。相仿的年龄、相同的职业、相似的压力…在转行软件测试追求更好生活的路上&#xff0…...

Android 逆向工具大整理,碉堡了

文章目录jadx打开 gui 界面把安装包打开双击变量名和方法名可以高亮所有出现的地方**强大的搜索功能****搜索资源****查看 APK 签名****查看 APK dex 数&#xff0c;方法数****查看资源&#xff0c;配置清单****展开包名**查找方式引用反混淆导出 Gradle 工程导出反编译资源lib…...

二维数组的定义

1. 概念二维数组就是一种数组的数组&#xff0c;其本质上还是一个一维数组&#xff0c;只是它的数据元素又是一个一维数组。如果你对这个概念想象不出来&#xff0c;给大家举个栗子&#xff0c;相信吸烟的同学一下子就会明白。一根烟 一个变量一包烟 20根烟 一维数组一条烟 …...

SpringMVC--获取请求参数、域对象共享数据

SpringMVC获取请求参数 通过ServletAPI获取 将HttpServletRequest作为控制器方法的形参&#xff0c;此时HttpServletRequest类型的参数表示封装了当前请 求的请求报文的对象 RequestMapping("/testParam") public String testParam(HttpServletRequest request){S…...

2月13日,30秒知全网,精选7个热点

///深圳支持数字经济核心区试点&#xff0c;市民每月免费享有1T网络流量支持基础电信企业、广电企业及互联网企业加快推进全市内容分发网络&#xff08;CDN&#xff09;扩容及智能改造行动&#xff0c;优化和完善CDN节点部署&#xff0c;积极利用边缘计算技术&#xff0c;推动互…...

【C++设计模式】学习笔记(2):模式分类与模版方法 Template Method

目录 简介模式分类GOF-23 模式分类从封装变化角度对模式分类重构获得模式 Refactoring to Patterns重构关键技法“组件协作”模式Template Method 模式动机(Motivation)结构化软件设计流程面向对象软件设计流程早绑定与晚绑定模式的定义结构(Structure)要点总结结语简介 He…...

【Swift 60秒】92 - Nil coalescing

0x00 Lesson The nil coalescing operator unwraps an optional and returns the value inside if there is one. If there isn’t a value - if the optional was nil - then a default value is used instead. Either way, the result won’t be optional: it will either b…...

python pip安装的包的路径

以ubuntu为例从一个店家那里拿到的一个ubuntu环境中&#xff0c;同时安装了python3.6和python2.7&#xff0c;又安装了ros&#xff0c;最后pip安装包的位置很混乱&#xff0c;安装的包不知道安装在了哪里。使用vscode的时候需要代码提示&#xff0c;就得找到包的路径&#xff0…...

个人收藏学习

【默认收藏夹】 CompletableFuture使用详解&#xff08;全网看这一篇就行&#xff09; 从头开始学MySQL-------存储过程与存储函数&#xff08;4&#xff09; 聊聊支付流程的设计与实现逻辑 聊聊消息中心的设计与实现逻辑 SpringBoot2 整合JTA组件&#xff0c;多数据源事务管理…...

【C++】类和对象---需掌握的功能

目录1.初始化列表1.1构造函数赋值1.2初始化列表格式&#xff1a;编译器执行的顺序&#xff1a;特性&#xff1a;1.3explicit关键字类型替换过程多参数构造函数类型替换&#xff08;C11&#xff09;2.static成员编程题3.匿名对象4.友元4.1友元函数4.2友元类5.内部类6.拷贝对象时…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

JavaScript基础-API 和 Web API

在学习JavaScript的过程中&#xff0c;理解API&#xff08;应用程序接口&#xff09;和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能&#xff0c;使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...

MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用

文章目录 一、背景知识&#xff1a;什么是 B-Tree 和 BTree&#xff1f; B-Tree&#xff08;平衡多路查找树&#xff09; BTree&#xff08;B-Tree 的变种&#xff09; 二、结构对比&#xff1a;一张图看懂 三、为什么 MySQL InnoDB 选择 BTree&#xff1f; 1. 范围查询更快 2…...

Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、Spring MVC与MyBatis技术解析 一、第一轮基础概念问题 1. Spring框架的核心容器是什么&#xff1f;它的作用是什么&#xff1f; Spring框架的核心容器是IoC&#xff08;控制反转&#xff09;容器。它的主要作用是管理对…...