用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格式分屏。

相关推荐
4SAPI4 分钟前
大模型接口管理平台推荐:多模型时代的API Gateway架构与选型分析
人工智能·agent
皇儒无上4 分钟前
智慧矿山-关于推进山西省煤矿灾害差异化智能化建设强化 AI 风险防控的政策建议
人工智能·机器学习·区块链
byte轻骑兵13 分钟前
【LE Audio】PBP精讲[4]: 公共广播通告的设计逻辑与数据交互流程
人工智能·音视频·le audio·低功耗蓝牙音频
正经教主19 分钟前
【FDE系列】阶段2:Day 28:FastAPI 入门 — 把你的函数变成 API 服务
人工智能·python·fde
天远Date Lab22 分钟前
零信任架构实战:基于天远名下企业A构建自动化商户合规网关
人工智能·ai·工具分享
hz5678932 分钟前
手术室视频示教系统解决方案:让临床教学突破空间限制
安全·音视频·实时音视频·信息与通信·智能硬件
xingyuzhisuan34 分钟前
无限画布AI视频:瓦片重叠率对拼接接缝瑕疵率影响实测
人工智能
广州山泉婚姻38 分钟前
DeepSeek Harness本地部署指南:Windows环境下解决API、权限、远程访问各类问题
人工智能·深度学习
Thomas.Sir41 分钟前
第16课:PyTorch|循环神经网络RNN与序列数据处理【让模型拥有“记忆”】
人工智能·pytorch·rnn