用OpenCV实现UVC视频分屏

分屏

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

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

Opencv

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

UVC

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

代码

python 复制代码
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] = 0
    channel0[:,:,2] = 0
    channel1 = np.copy(frame)
    channel1[:,:,0] = 0
    channel1[:,:,2] = 0
    channel2 = np.copy(frame)
    channel2[:,:,0] = 0#修改一列的值
    channel2[:,:,1] = 0

    vs1 = 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:#ESC
        break
video.release()
cv2.destroyAllWindows()

验证

视频流通道分屏的截屏

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

后话

YUY2格式分屏。

相关推荐
阿里云大数据AI技术几秒前
DataWorks Data Agent 实战课堂(六):数据集成定时任务巡检
人工智能·agent
neocheng_5229 分钟前
不绑定厂商的AI认证有哪些特质?通用AI技能等级认证适配哪类人群?
人工智能
空堂与归11 分钟前
从预测文字到预测世界:世界模型如何重构 AI 对现实的理解
人工智能
Dawson Zhu17 分钟前
AI Agent 基础架构解析:从 LLM 到 ReAct 循环与 Harness 工程的工程化路径
人工智能·语言模型·架构·aigc·agi
向上的车轮21 分钟前
Coze Studio 本地部署教程 + 私有化AI智能体搭建实战(保姆级零踩坑,可直接落地)
人工智能
qq_252941316827 分钟前
航拍羊群目标检测数据集 | 航拍羊群 智慧畜牧业 动物检测 无人机巡检5010期
人工智能·yolo·目标检测·计算机视觉·无人机·羊群识别·羊群
A.说学逗唱的Coke29 分钟前
【AI·Coding】多工具协作实战:同一个项目如何无缝切换 Qoder / Claude Code / Codex / Cursor / Trae
人工智能
Wang's Blog33 分钟前
Vibe Coding一人即团队系列40: 基于Git历史与自定义Skill的自动化周报生成实践
人工智能·自动化
1878770860935 分钟前
Hip-Hop 音乐制作工具推荐:从 Beat、录音到混音的实用选型
人工智能
cqsztech36 分钟前
Oracle ai database 26ai rac 通过gold image 更新季度补
数据库·人工智能·oracle