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

相关推荐
小小程序猴13 分钟前
2026 企业如何借助 AI 培训实现降本增效与业绩增长?实用指南(工程视角)
人工智能
2601_967264286 分钟前
极客时间 AI Agent 全栈工程师训练营,全套学习资源齐全
人工智能·学习
薛定e的猫咪10 分钟前
(NeurIPS 2022)GraphGPS:MPNN 与全局注意力的融合之道
人工智能·深度学习·学习·算法
LabVIEW开发11 分钟前
把量子纠缠实验搬进屏幕:用 LabVIEW 仿真双光子量子态层析
人工智能·labview·labview知识·labview功能·labview程序
2501_9318197017 分钟前
长沙话标注公司语料数据迭代更新周期过长痛点 信实翻译定期迭代机制实际价值剖析
人工智能·语音识别
chunmiao303225 分钟前
大模型推理加速新方向:中科曙光 ParaCache 用存储换计算
大数据·人工智能
MartinYeung528 分钟前
[论文学习]激活差异揭示后门:SAE架构对比研究
人工智能·学习·架构
小猴子爱上树30 分钟前
跨境电商AI批量图片翻译工具,视频字幕翻译免费试用
人工智能·python·音视频
开开心心就好30 分钟前
电子教鞭工具支持画框写字插图片功能齐全
android·开发语言·前端·javascript·人工智能·pdf·html
Dovis(誓平步青云)37 分钟前
拍视频前先把镜头想清楚:做一个分镜取景辅助器
android·java·服务器·javascript·人工智能