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

opencv学习(视频读取)

1.cv2.COLOR_BGR2GRAY和cv2.IMREAD_GRAYSCALE的区别

在 OpenCV 中,cv2.COLOR_BGR2GRAY和cv2.IMREAD_GRAYSCALE都与图像灰度化有关,但它们的使用场景和作用机制有所不同:

cv2.IMREAD_GRAYSCALE:
这是一个读取图像时使用的标志参数
作用:在读取图像的同时直接将其转换为灰度图
使用方式:作为cv2.imread()函数的第二个参数

cv2.COLOR_BGR2GRAY:
这是一个颜色空间转换码
作用:将已读取的 BGR 彩色图像转换为灰度图
使用方式:作为cv2.cvtColor()函数的第二个参数(cv2.cvtColor()是Matplotlib和opencv颜色通道转换函数)

2.代码示例

import cv2
import matplotlib.pyplot as plt
import numpy as npvc=cv2.VideoCapture("111.mp4")#检查是否打开正确
if vc.isOpened():open , frame=vc.read()
else:open = False
'''
vc 是一个视频捕获对象(通常通过 cv2.VideoCapture() 创建)
vc.isOpened() 检查视频是否成功打开
如果成功打开,调用 vc.read() 读取第一帧,返回值 open 是布尔值(是否成功读取),frame 是读取到的帧
如果无法打开视频,将 open 设为 False
'''#遍历每一帧,进行播放
while open:ret,fra=vc.read()if fra is None:breakif ret is True:gray =cv2.cvtColor(fra,cv2.COLOR_BGR2GRAY)cv2.imshow('result',gray)if cv2.waitKey(50)&0xFF==27:break
'''
while open 表示当视频正常打开时,进入循环播放
vc.read() 逐帧读取视频,ret 表示是否成功读取,fra 是当前帧
if fra is None 检查是否读取到空帧(视频结束),如果是则退出循环
cv2.cvtColor(fra, cv2.COLOR_BGR2GRAY) 将彩色帧转换为灰度图
cv2.imshow('result', gray) 在名为 'result' 的窗口中显示灰度帧
cv2.waitKey(50) 等待 50 毫秒,控制视频播放速度(数值越小播放越快)
& 0xFF == 27   27是ASCII值,表示ESC键,该代码表示检测是否按下 ESC 键,按下则退出循环
'''
vc.release()# 释放视频捕获对象,关闭视频文件或摄像头
cv2.destroyAllWindows()#关闭所有 OpenCV 创建的窗口

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

相关文章:

  • Spring Data Redis 从入门到精通:原理与实战指南
  • 2025暑期—06神经网络-常见网络
  • JVM、Dalvik、ART区别
  • JS逆向实战案例之———x日头条【a-bogus】分析
  • 解析 Chromium 架构分层下 Windows 与 Linux 链接器行为差异及其影响
  • [深度学习] 大模型学习3下-模型训练与微调
  • 提升ARM Cortex-M系统性能的关键技术:TCM技术解析与实战指南
  • C++11扩展 --- 并发支持库(中)
  • sqlsuger 子表获取主表中的一个字段的写法
  • 第一章:Go语言基础入门之Go语言安装与环境配置
  • 顺丰面试提到的一个算法题
  • OpenAI发布ChatGPT Agent,AI智能体迎来关键变革
  • Git原理及使用
  • android studio打包vue
  • Android Studio中调用USB摄像头
  • 广告业技术范式转移:当AI开始重构整个价值链
  • 硅基纪元:当人类成为文明演化的燃料——论AI终极形态下的存在论重构
  • 【Linux系统】基础IO(上)
  • Neo4j如何修改用户密码?
  • Codeforces Round 973 (Div. 2)
  • uniapp自定义圆形勾选框和全选框
  • 软件开发、项目开发基本步骤
  • MCU芯片AS32S601在卫星光纤放大器(EDFA)中的应用探索
  • NineData新增SQL Server到MySQL复制链路,高效助力异构数据库迁移
  • ubuntulinux快捷键
  • 「iOS」——KVC
  • ubuntu22.04 python升级并安装pip命令
  • 轻量化RTSP视频通路实践:采集即服务、播放即模块的工程解读
  • 第十讲:stack、queue、priority_queue以及deque
  • LeetCode 热题100:160.相交链表