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

Python数据分析(OpenCV视频处理)

处理视频我们引入的还是numpy 和 OpenCV 的包

引入方式如下:

import numpy as np
import cv2

 我们使用OpenCV来加载本地视频,参数就是你视频的路径就可以

#加载视频
cap = cv2.VideoCapture('./1.mp4')

下面我们进行读取视频

#读取视频
flag,frame = cap.read()

读取视频的方法会返回两结果,flag表示是否读完 frame是读取的图像

 我们可以获取图像的宽高等等

#获取帧数
cap.get(cv2.CAP_PROP_FPS)

#获取宽度
cap.get(cv2.CAP_PROP_FRAME_WIDTH)

下面是两个例子

第一个读取本地视频,并识别视频中的人脸,这里获取人脸的特征数据在上篇文章中已说明,这里不多说
 

#读取视频
cap = cv2.VideoCapture('./1.mp4')
#添加人脸特征
detector = cv2.CascadeClassifier('./haarcascade_frontalface_default.xml')
#读取视频并进行人脸识别
while cap.isOpened():flag,frame = cap.read()gray = cv2.cvtColor(frame,code=cv2.COLOR_BGR2GRAY)face_zone = detector.detectMultiScale(gray,scaleFactor=1.2,minNeighbors=5)for x,y,w,h in face_zone:cv2.circle(frame,center=(x+w//2,y+h//2),radius=w//2,color =[0,0,255],thickness=2)if flag == False:break;cv2.imshow('ll',frame)if ord('q') == cv2.waitKey(81):break
cv2.destroyAllWindows()
cap.release()

第二个例子, 我们调用本地摄像头,识别人脸,并将视频储存到本地

#cv2 打开本地摄像头  识别人脸 并保存视频
cap = cv2.VideoCapture(0)
w = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))+1
h = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))+1
#保存的视频格式有很多种,大家可以自己从网上查一下对应的标识
videoWriter = cv2.VideoWriter('./my.mp4',cv2.VideoWriter_fourcc('M','P','4','v'),24,(w,h))
detector = cv2.CascadeClassifier('./haarcascade_frontalface_default.xml')
while cap.isOpened():falg,frame = cap.read()if falg == False:break;gray = cv2.cvtColor(frame,code=cv2.COLOR_BGR2GRAY)face_zone = detector.detectMultiScale(gray,scaleFactor=1.2,minNeighbors=5)for x,y,w,h in face_zone:cv2.circle(frame,circle=(x+w//2,y+h//2),radius=w//2,color =[0,0,255],thickness=2)videoWriter.write(frame)if falg == False:break;cv2.imshow('ll',frame)if ord('q') == cv2.waitKey(20):break;
cv2.destroyAllWindows();
cap.release();
videoWriter.release();

相关文章:

Python数据分析(OpenCV视频处理)

处理视频我们引入的还是numpy 和 OpenCV 的包 引入方式如下: import numpy as np import cv2 我们使用OpenCV来加载本地视频,参数就是你视频的路径就可以 #加载视频 cap cv2.VideoCapture(./1.mp4) 下面我们进行读取视频 #读取视频 flag,frame cap.re…...

跨域 Cookie 共享

跨域请求经常遇到需要携带 cookie 的场景,为了确保跨域请求能够携带用户的认证信息或其他状态,浏览器提供了 withCredentials 这个属性。 如何在 Axios 中使用 withCredentials 为了在跨域请求中携带 cookie,需要在 Axios 配置中设置 withCr…...

【视频异常检测】Real-Time Anomaly Detection and Localization in Crowded Scenes 论文阅读

文章信息: 发表于:CVPR2015(workshop) 原文链接:https://www.cv-foundation.org/openaccess/content_cvpr_workshops_2015/W04/papers/Sabokrou_Real-Time_Anomaly_Detection_2015_CVPR_paper.pdf Real-Time Anomaly D…...

设计模式12:抽象工厂模式

系列总链接:《大话设计模式》学习记录_net 大话设计-CSDN博客 参考: C设计模式:抽象工厂模式(风格切换案例)_c 抽象工厂-CSDN博客 1.概念 抽象工厂模式(Abstract Factory Pattern)是软件设计…...

论文学习——多种变化环境下基于多种群进化的动态约束多目标优化

论文题目:Multipopulation Evolution-Based Dynamic Constrained Multiobjective Optimization Under Diverse Changing Environments 多种变化环境下基于多种群进化的动态约束多目标优化(Qingda Chen , Member, IEEE, Jinliang Ding , Senior Member, …...

Jenkins参数化构建详解(This project is parameterized)

本文详细介绍了Jenkins中不同类型的参数化构建方法,包括字符串、选项、多行文本、布尔值和git分支参数的配置,以及如何使用ActiveChoiceParameter实现动态获取参数选项。通过示例展示了传统方法和声明式pipeline的语法 文章目录 1. Jenkins的参数化构建1…...

Cerebras 推出 CePO,填补推理与规划能力的关键空白

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...

广东省食品销售中高级题库及答案

1.有关食品安全标准的说法正确的是(C)。 A.鼓励性标准 B.推荐性标准 C.强制性标准 D.引导性标准 2.食品经营许可证载明的许可事项发生变化的,食品经营者应当在变化后(D)个工作日内向原发证的食品药品监督管理部门申请变更经营许可。 A.3 B.5 C.7 D.10 3.食品销售经营者对食品…...

JAVA基础-深入理解Java内存模型(一)-- 重排序与先行发生原则(happens-before)

深入理解Java内存模型(一)-- 重排序 很棒的一个关于Java内存模型系列文章,首先感谢作者,转载自深入理解java内存模型系列文章 ,为了方便阅读,做了一些内容整合和重排版。 提纲 Java线程之间的通信对程序…...

【Lambda】java之lambda表达式stream流式编程操作集合

java之lambda表达式&stream流式编程操作集合 1 stream流概念1.1 中间操作1.1.1 无状态操作1.1.2 有状态操作 1.2 终端操作1.2.1 非短路操作1.2.2 短路操作 2 steam流的生成2.1 方式一:数组转为stream流2.2 方式二:集合转为steam流2.3 方式三&#xf…...

家具购物小程序+php

基于微信小程序的家具购物小程序的设计与实现 摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了基于微信小程序的家具购物小程序的设计与实现的开发全过程。通过分析基于微信小程序的家具购物小程序的设计与实…...

【GIS教程】使用GDAL-Python将tif转为COG并在ArcGIS Js前端加载-附完整代码

目录 一、数据格式 二、COG特点 三、使用GDAL生成COG格式的数据 四、使用ArcGIS Maps SDK for JavaScript加载COG格式数据 一、数据格式 COG(Cloud optimized GeoTIFF)是一种GeoTiff格式的数据。托管在 HTTP 文件服务器上,可以代替geose…...

VB.net进行CAD二次开发(二)与cad交互

开发过程遇到了一个问题&#xff1a;自制窗口与控件与CAD的交互。 启动类&#xff0c;调用非模式窗口 Imports Autodesk.AutoCAD.Runtime Public Class Class1 //CAD启动界面 <CommandMethod("US")> Public Sub UiStart() Dim myfrom As Form1 New…...

【NLP 11、Adam优化器】

祝你先于春天&#xff0c; 翻过此间铮铮山峦 —— 24.12.8 一、Adam优化器的基本概念 定义 Adam&#xff08;Adaptive Moment Estimation&#xff09;是一种基于梯度的优化算法&#xff0c;用于更新神经网络等机器学习模型中的参数。它结合了动量法&#xff08;Momentum&…...

51单片机应用开发(进阶)---串口接收字符命令

实现目标 1、巩固UART知识&#xff1b; 2、掌握串口接收字符数据&#xff1b; 3、具体实现目标&#xff1a;&#xff08;1&#xff09;上位机串口助手发送多字符命令&#xff0c;单片机接收命令作相应的处理&#xff08;如&#xff1a;openled1 即打开LED1;closeled1 即关…...

redis 怎么样删除list

在 Redis 中&#xff0c;可以使用以下方法删除列表或列表中的元素&#xff1a; 1. 删除整个列表 使用 DEL 命令删除一个列表键&#xff1a; DEL mylist这个命令会删除键 mylist 及其值&#xff08;无论 mylist 是一个列表还是其他类型的键&#xff09;。 2. 删除列表中的部分…...

【数据结构——内排序】快速排序(头歌实践教学平台习题)【合集】

目录&#x1f60b; 任务描述 测试说明 我的通关代码: 测试结果&#xff1a; 任务描述 本关任务&#xff1a;实现快速排序算法。 测试说明 平台会对你编写的代码进行测试&#xff1a; 测试输入示例&#xff1a; 10 6 8 7 9 0 1 3 2 4 5 (说明&#xff1a;第一行是元素个数&a…...

npm或yarn包配置地址源

三种方法 1.配置.npmrc 文件 在更目录新增.npmrc文件 然后写入需要访问的包的地址 2.直接yarn.lock文件里面修改地址 简单粗暴 3.yarn install 的时候添加参数 设置包的仓库地址 yarn config set registry https://registry.yarnpkg.com 安装&#xff1a;yarn install 注意…...

STUN服务器用于内网NAT的方案

在内网中部署 STUN 服务器的场景通常用于处理多层 NAT 或内网客户端之间的通信需求&#xff0c;尤其是在大企业或学校等复杂网络环境下。通过 STUN 服务器&#xff0c;可以帮助客户端设备检测和适配 NAT 转换规则&#xff0c;进而支持 WebRTC 或其他实时通信技术的正常运行。 …...

Linux 简单命令总结

1. 简单命令 1.1. ls 列出该目录下的所有子目录与文件&#xff0c;后面还可以跟上一些选项 常用选项&#xff1a; ・-a 列出目录下的所有文件&#xff0c;包括以。开头的隐含文件。 ・-d 将目录象文件一样显示&#xff0c;而不是显示其下的文件。如&#xff1a;ls -d 指定目…...

音乐网站与分享平台 |基于Springboot+vue的音乐网站与分享平台(源码+数据库+文档)​

音乐网站与分享平台 目录 基于Springbootvue的音乐网站与分享平台 一、前言 二、系统设计 三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大厂码农|毕设布道师&#xf…...

为什么“忘记密码“只能重置不能找回?背后藏着一个精妙的数学秘密

99%的人每天都在用它&#xff0c;却从来不知道它的存在你一定遇到过这种事&#xff1a;忘了某个网站的密码&#xff0c;点击"找回密码"&#xff0c;结果网站只让你"重置密码"——它为什么不能直接告诉你原来的密码是什么&#xff1f;答案可能出乎你的意料&…...

PT助手Plus终极指南:3步实现浏览器PT下载自动化

PT助手Plus终极指南&#xff1a;3步实现浏览器PT下载自动化 【免费下载链接】PT-Plugin-Plus PT 助手 Plus&#xff0c;为 Microsoft Edge、Google Chrome、Firefox 浏览器插件&#xff08;Web Extensions&#xff09;&#xff0c;主要用于辅助下载 PT 站的种子。 项目地址: …...

GPU渲染管线ROP单元优化与体积渲染性能提升

1. GPU渲染管线中的ROP单元深度解析在图形渲染管线中&#xff0c;Render Output Unit&#xff08;ROP&#xff09;扮演着至关重要的角色。作为渲染流程的最后阶段&#xff0c;ROP负责执行深度测试&#xff08;Z-Test&#xff09;、模板测试&#xff08;Stencil Test&#xff09…...

开源作战室框架OpenClaw-Warroom:构建高效事件响应与团队协作平台

1. 项目概述&#xff1a;从“作战室”到开源协作的实战推演如果你在开源社区或者技术团队里待过一段时间&#xff0c;大概率听过“作战室”这个词。它听起来有点军事化&#xff0c;但在现代软件开发和应急响应场景里&#xff0c;它代表的是一个高度聚焦、信息透明、行动同步的虚…...

AI治理实战:从公平性、可解释性到MLOps全流程落地

1. 项目概述与核心价值最近在整理开源项目时&#xff0c;发现了一个名为“AI_governance”的仓库&#xff0c;作者是bhavya7995。这个标题立刻引起了我的兴趣。在AI技术飞速渗透到各行各业&#xff0c;从代码生成到内容创作&#xff0c;从自动驾驶到医疗诊断的今天&#xff0c;…...

冬日狂想曲(赠去马赛克补丁)2026.5.13最新版免费下载 转存后自动更新 (看到请立即转存 资源随时失效)pc手机版通用

下载链接 冬日狂想曲》&#xff08;Winter Memories&#xff09;作为《夏日狂想曲》的正统续作&#xff0c;在独立游戏圈、尤其是像素风生活模拟&#xff08;Life Sim&#xff09;领域有着极高的讨论度。 针对你提到的内容&#xff0c;我需要先说明&#xff1a;作为一个人工智…...

怎样轻松上手yuzu模拟器:3个实用技巧帮你快速畅玩Switch游戏

怎样轻松上手yuzu模拟器&#xff1a;3个实用技巧帮你快速畅玩Switch游戏 【免费下载链接】yuzu 任天堂 Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/yu/yuzu 你是不是也想在电脑上玩Switch游戏&#xff0c;但又觉得模拟器配置太复杂&#xff1f;别担心…...

实在Agent实测:解决采购合同审核流程冗长与原材料交付周期拉长的架构之道

大家好&#xff0c;我是企业架构师老王。站在2026年5月这个时间节点回看&#xff0c;全球供应链的复杂程度已远超三年前的预判。近期我在为几家制造型企业做数字化诊断时发现&#xff0c;一个幽灵般的困境正在吞噬企业的利润&#xff1a;采购合同审核流程冗长&#xff0c;直接导…...

6自由度机械臂精准控制:开源ROS方案的技术突破与工业应用

6自由度机械臂精准控制&#xff1a;开源ROS方案的技术突破与工业应用 【免费下载链接】pick-place-robot Object picking and stowing with a 6-DOF KUKA Robot using ROS 项目地址: https://gitcode.com/gh_mirrors/pi/pick-place-robot 在工业自动化领域&#xff0c;…...