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

相关推荐
烈风逍遥12 小时前
基于 Vue 3+Spring Boot 构建 RAG 智能知识库
人工智能
机器之心12 小时前
1/10成本、Opus 4.7级表现,Cursor甩出了性价比之王Composer 2.5
人工智能·openai
机器之心12 小时前
从卖token到卖结果,这些公司开始让AI背KPI了
人工智能·openai
效能革命笔记12 小时前
AI模型平台选型指南:开源生态与国产算力如何优选
人工智能·开源
机器之心12 小时前
H100去哪儿了?
人工智能·openai
多年小白12 小时前
兆易创新分析
大数据·人工智能·ai·金融·区块链
小领航12 小时前
构建 MySQL MCP Server
人工智能·node.js
paperClub12 小时前
AACR 2026 · AI诊断:深度学习在肿瘤早期检测中的应用
人工智能·深度学习
碳基硅坊12 小时前
使用RAGFlow搭建本地知识库
人工智能·知识库·rag·ragflow
w1wi12 小时前
CRA 差距分析完全指南 | 合规落地第一步
网络·人工智能·安全