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

用OpenCV实现UVC视频分屏

分屏

  • Opencv
  • UVC
  • 代码
  • 验证
  • 后话

用OpenCV实现UVC摄像头的视频分屏。

Opencv

opencv里有很多视频图像的处理功能。

UVC

Usb 视频类,免驱动的。视频流格式有MJPG和YUY2。MJPG是RGB三色通道的。要对三通道进行分屏显示。

代码

import  cv2
import numpy as np
video = cv2.VideoCapture(0)
fps = video.get(cv2.CAP_PROP_FPS)
#print(fps)
size = (int(video.get(cv2.CAP_PROP_FRAME_WIDTH)), int(video.get(cv2.CAP_PROP_FRAME_HEIGHT)))
#print(size)while True:ret, frame = video.read()channel0 = np.copy(frame)channel0[:,:,1] = 0channel0[:,:,2] = 0channel1 = np.copy(frame)channel1[:,:,0] = 0channel1[:,:,2] = 0channel2 = np.copy(frame)channel2[:,:,0] = 0#修改一列的值channel2[:,:,1] = 0vs1 = np.hstack([frame,channel0])  # 水平堆叠vs2 = np.hstack([channel1,channel2])  # 水平堆叠imgs = np.vstack((vs1, vs2))  # 竖直堆叠cv2.namedWindow("split screen",cv2.WINDOW_NORMAL)cv2.imshow("split screen", imgs)c = cv2.waitKey(1)#每隔1毫秒刷新一次if c == 27:#ESCbreak
video.release()
cv2.destroyAllWindows()

验证

在这里插入图片描述视频流通道分屏的截屏

可以看到红色衣服在channel2红色通道里显示是清晰的。

后话

YUY2格式分屏。

http://www.lryc.cn/news/517917.html

相关文章:

  • Allure 集成 pytest
  • 【Python】构建智能语音助手:使用Python实现语音识别与合成的全面指南
  • 在 Arthas 中调用 Spring Bean 方法
  • Nginx入门笔记
  • 【单片机】实现一个简单的ADC滤波器
  • 开源 vGPU 方案 HAMi 解析
  • 备考蓝桥杯:顺序表详解(静态顺序表,vector用法)
  • OA系统如何做好DDOS防护
  • 使用 Python 的 pyttsx3 库进行文本转语音
  • 如何在Windows上编译OpenCV4.7.0
  • 【玩转全栈】----Django连接MySQL
  • 25/1/4 算法笔记<强化学习> 生成对抗模仿学习
  • Flink维表方案选型
  • Oracle Database 23ai 新特性: UPDATE 和 DELETE 语句的直接联接
  • 机器学习之随机森林算法实现和特征重要性排名可视化
  • 网络安全图谱以及溯源算法
  • 单片机-外部中断
  • 《解锁计算机视觉智慧:编程实现图片场景文字描述的开源宝藏》
  • onLoad 生命周期函数是否执行取决于跳转的方式和小程序的页面栈管理机制
  • Visio 画阀门 符号 : 电动阀的画法
  • OOM排查思路
  • 《Spring Framework实战》10:4.1.4.2.详细的依赖和配置
  • 网络安全-XSS跨站脚本攻击(基础篇)
  • Git的学习和常见问题
  • Flink源码解析之:Flink on k8s 客户端提交任务源码分析
  • STLG_02_02_MS SQL - SSMS的安装和使用
  • git 常用命令和本地合并解决冲突
  • ThinkPHP 8高效构建Web应用-获取请求对象
  • 机器人技术:ModbusTCP转CCLINKIE网关应用
  • C语言的语法