RISC-V 开发板 MUSE Pi Pro OpenCV结合Gstreamer实时显示CSI摄像头

视频讲解:RISC-V 开发板 MUSE Pi Pro OpenCV结合Gstreamer实时显示CSI摄像头_哔哩哔哩_bilibili

RISC-V 开发板 MUSE Pi Pro OpenCV结合Gstreamer实时显示CSI摄像头

安装opencv相关库

复制代码
sudo apt install libopencv-dev python3 python3-opencv

测试使用的CSI摄像头为ov5647,官方示例如下,其中json包括csi型号不同需要修改下

复制代码
import cv2

gst_str = 'spacemitsrc location=/home/bianbu/camtest_ov16a10.json close-dmabuf=1 ! video/x-raw,format=NV12,width=1280,height=720 ! appsink'

cap = cv2.VideoCapture(gst_str, cv2.CAP_GSTREAMER)  # 打开默认的摄像头

while True:
  ret, frame = cap.read()  # 读取视频帧
  frame = cv2.cvtColor(frame, cv2.COLOR_YUV2BGR_NV12)
  cv2.imshow('Video', frame)  # 显示视频帧

  if cv2.waitKey(1) & 0xFF == ord('q'):  # 按下 'q' 键退出循环
      break

cap.release()  # 释放摄像头
cv2.destroyAllWindows()  # 关闭所有窗口

需要将gst_str中json文件的位置修改为如下:

复制代码
gst_str = 'spacemitsrc location=/usr/share/camera_json/csi3_camera_auto.json close-dmabuf=1 ! video/x-raw,format=NV12,width=1920,height=1080 ! appsink'

完整修改如下:

复制代码
import cv2

gst_str = 'spacemitsrc location=/usr/share/camera_json/csi3_camera_auto.json close-dmabuf=1 ! video/x-raw,format=NV12,width=1920,height=1080 ! appsink'

cap = cv2.VideoCapture(gst_str, cv2.CAP_GSTREAMER)  # 打开默认的摄像头

while True:
  ret, frame = cap.read()  # 读取视频帧
  frame = cv2.cvtColor(frame, cv2.COLOR_YUV2BGR_NV12)
  cv2.imshow('Video', frame)  # 显示视频帧

  if cv2.waitKey(1) & 0xFF == ord('q'):  # 按下 'q' 键退出循环
      break

cap.release()  # 释放摄像头
cv2.destroyAllWindows()  # 关闭所有窗口

非桌面段的话,会起一个Remote X窗口用来显示,虽然有点卡

相关推荐
Eric.Lee20211 分钟前
数据集-目标检测系列- 杯子 数据集 bottle >> DataBall
人工智能·目标检测·计算机视觉·杯子检测·bottle detect
苏苏susuus17 分钟前
深度学习:张量标量概念、PyTorch张量创建、类型转换等
人工智能·pytorch·深度学习
成都犀牛26 分钟前
工作流和Agent 的区别与联系
人工智能·python·深度学习·神经网络·agent·工作流
集和诚JHCTECH32 分钟前
【案例分享】KMDA-7611-S001--高性能嵌入式电脑助力双臂轮式人形机器人应用
人工智能·嵌入式硬件·机器人
雪兽软件39 分钟前
网络安全中的人工智能应用
人工智能·web安全
人工智能培训咨询叶梓1 小时前
大模型在关键社会领域的应用研究:金融、医疗和法律
人工智能·语言模型·金融·大模型实战·大模型应用·人工智能培训·大模型工具
flyair_China1 小时前
【人工智能数学基础】测度论
人工智能
Cc19241 小时前
13.1-13.4. 计算机视觉【1】
人工智能·计算机视觉
一个小番茄1 小时前
# AI武装大脑:技术管理者如何用人工智能重构认知与决策系统
人工智能·重构
楼台的春风1 小时前
【Linux驱动开发 ---- 2.1_深入理解 Linux 内核架构】
linux·c++·人工智能·驱动开发·嵌入式硬件·ubuntu·架构