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 cv2gst_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' 键退出循环breakcap.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 cv2gst_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' 键退出循环breakcap.release()  # 释放摄像头
cv2.destroyAllWindows()  # 关闭所有窗口

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/diannao/84106.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何用JAVA手写一个Tomcat

一、初步理解Tomcat Tomcat是什么? Tomcat 是一个开源的 轻量级 Java Web 应用服务器,核心功能是 运行 Servlet/JSP。 Tomcat的核心功能? Servlet 容器:负责加载、实例化、调用和销毁 Servlet。 HTTP 服务器:监听端口…

短剧系统开发与抖音生态融合:短视频时代的新风口与商业机遇

在短视频内容井喷的时代,“短剧”作为一种新兴内容形态,正以惊人的速度抢占用户注意力。抖音、快手等平台日均播放量破亿的短剧作品,不仅催生了新的内容创作风口,更推动了短剧系统开发的巨大市场需求。本文将深度解析短剧系统开发…

《云原生安全攻防》-- K8s日志审计:从攻击溯源到安全实时告警

当K8s集群遭受入侵时,安全管理员可以通过审计日志进行攻击溯源,通过分析攻击痕迹,我们可以找到攻击者的入侵行为,还原攻击者的攻击路径,以便修复安全问题。 在本节课程中,我们将介绍如何配置K8s审计日志&am…

3dczml时间动态图型场景

在cesium中我们了可以使用czml数据来生成可以随时间变化而变化的物体. 首先导入czml数据 设置时间范围 id: "point" //物体在什么时间范围可用 availability:"2012-08-04T16:00:00Z/2012-08-04T16:05:00Z"position:{ //设置物体的起始时间 epoch:"…

超小多模态视觉语言模型MiniMind-V 训练

简述 MiniMind-V 是一个超适合初学者的项目,让你用普通电脑就能训一个能看图说话的 AI。训练过程就像教小孩:先准备好图文材料(数据集),教它基础知识(预训练),再教具体技能&#xf…

01-jenkins学习之旅-window-下载-安装-安装后设置向导

1 jenkins简介 百度百科介绍:Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。 [1] Jenkins官网地址 翻译&…

VPLC (VPLCnext) K8S

前序 在接触Virtual PLCnext Control的时候,我想过好几次如何将它运行在k8s上,由于对k8s的熟悉程度不够,跌跌撞撞尝试了很久,终于把vPLC部署在单机版的k8s上了。(此教程仅为demo阶段,此教程仅为demo阶段&a…

OPC Client第5讲(wxwidgets):初始界面的事件处理;按照配置文件初始化界面的内容

接上一讲,即实现下述界面的事件处理代码;并且按照配置文件初始化界面的内容(三、) 事件处理的基础知识,见下述链接五、 OPC Client第3讲(wxwidgets):wxFormBuilder;基础…

从乳制品行业转型看智能化升级新机遇——兼谈R²AIN SUITE的赋能实践

一、市场现状:乳制品行业迎来智能化转型关键期 中国乳制品行业在经历高速增长与深度调整后,已进入以"安全、效率、创新"为核心的新发展阶段。根据施耐德电气白皮书数据显示,2019年乳制品合格率达99.8%[1],液态奶占据77…

[20250522]目前市场上主流AI开发板及算法盒子的芯片配置、架构及支持的AI推理框架的详细梳理

目前市场上主流AI开发板及算法盒子的芯片配置、架构及支持的AI推理框架的详细梳理

【Golang笔记03】error、panic、fatal错误处理学习笔记

Golang笔记:错误处理学习笔记 一、进阶学习 1.1、错误(异常处理) Go语言中也有和Java中的异常处理相关的机制,不过,在Go里面不叫异常,而是叫做:错误。错误分为三类,分别是&#x…

Python可视化设计原则

在数据驱动的时代,可视化不仅是结果的呈现方式,更是数据故事的核心载体。Python凭借其丰富的生态库(Matplotlib/Seaborn/Plotly等),已成为数据可视化领域的主力工具。但工具只是起点,真正让图表产生价值的&…

​​WPF入门与XAML基础:从零开始构建你的第一个WPF应用​

从零开始构建你的第一个WPF应用​ 1.什么是WPF?​​2.开发环境搭建​​2.1 安装Visual Studio​​2.2 创建第一个WPF项目​​ 3. WPF项目结构解析​​​​3.1 MainWindow.xaml​​3.2 MainWindow.xaml.cs​​ 4. XAML基础语法​​4.1 属性赋值方式​​4.2 命名空间&…

电子电气架构 --- 下一代汽车电子电气架构中的连接性

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 钝感力的“钝”,不是木讷、迟钝,而是直面困境的韧劲和耐力,是面对外界噪音的通透淡然。 生活中有两种人,一种人格外在意别人的眼光;另一种人无论…

学习日记-day13-5.22

完成目标: 知识点: 1.抽象注意事项 知识点 核心内容 重点 抽象类实例化限制 抽象类不能直接实例化对象,只能创建非抽象子类的对象 尝试实例化抽象类会触发编译错误 抽象方法与抽象类关系 抽象类不一定包含抽象方法,但含…

华硕无畏Pro14 2025,打造舒适办公新体验

在快节奏、高效率的现代办公环境中,一台得心应手的笔记本无疑是每位职场人士的“第二大脑”与核心生产力工具。它不仅需要承载日常工作的繁杂事务,更要在关键时刻稳定输出,助力我们从容应对各种挑战。 洞悉此需求,华硕推出了全新…

重写B站(网页、后端、小程序)

1. 网页端 1.1 框架 Vue ElementUI axios 1.2 框架搭建步骤 搭建Vue 1.3 配置文件 main.js import {createApp} from vue import ElementUi from element-plus import element-plus/dist/index.css; import axios from "axios"; import router from…

MySQL数据 在 磁盘上是什么样子的

MySQL数据 在 磁盘上是什么样子的,取决于所使用的存储引擎。存储于引擎 是作用在 表! 上的。 存储引擎 百度百科是这样定义存储引擎的:MySQL 中的数据用各种不同的技术存储在文件(或者内存)中,这些不同的技术以及配套…

MySQL的相关操作

目录 一. 字符串函数 二. group by分组 2.1 作用 2.2 格式 2.3 举例 三. order by排序 3.1 格式 3.2 举例 四. limit 4.1 作用 4.2 举例 五. having 5.1 作用 5.2 举例 六. 正则表达式 七. 多表查询 7.1 定义 7.2 子查询 7.3 联合查询 纵向合并 7.4 交叉连…

网络安全-等级保护(等保) 2-7-3 GB/T 25058—2019 第7章 安全设计与实施

############################################################################### 对于安全厂家而言,最关心的内容在本章节,根据已确定的安全总体方案,完成技术措施和管理措施的详细设计和实施,包含具体的安全产品和管理要求。…