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

相关推荐
Spring AI学习8 分钟前
Spring AI深度解析(11/50):异常处理与容错机制实战
java·人工智能·spring
木头左12 分钟前
结合基本面分析的LSTM量化交易模型入参设计原则
人工智能·rnn·lstm
HuggingFace22 分钟前
流式数据集:效率提升 100 倍!
人工智能
qq_124987075329 分钟前
基于协同过滤算法的在线教育资源推荐平台的设计与实现(源码+论文+部署+安装)
java·大数据·人工智能·spring boot·spring·毕业设计
万俟淋曦29 分钟前
【论文速递】2025年第38周(Sep-14-20)(Robotics/Embodied AI/LLM)
人工智能·深度学习·机器学习·机器人·大模型·论文·具身智能
一水鉴天34 分钟前
整体设计 定稿 之7 共享给定表格文档的分析(豆包助手)
人工智能·架构
C嘎嘎嵌入式开发1 小时前
NLP 入门:从原理到实战的个人经验总结
人工智能·python·自然语言处理·nlp
水如烟1 小时前
孤能子视角:人工智能的“计算博弈“––“标量“即“矢量“
人工智能
Hugging Face1 小时前
Codex 正在推动开源 AI 模型的训练与发布
人工智能
程途拾光1581 小时前
发展中国家的AI弯道超车:医疗AI的低成本本土化之路
大数据·人工智能