在Orangepi5开发板3588s使用opencv获取摄像头画面

先感谢香橙派群的管理员耐心指导,经过不断的调试修改最后成功通过opencv调用mipi摄像头获取画面
就记录分享一下大概步骤希望大家少踩点坑!!!!!!
我用的固件系统是ubuntu2022.0.4
固件是: Orangepi5_1.1.6_ubuntu_jammy_desktop_gnome_linux5
.10.110.img

想通过opencv获取画面得先安装opencv,注意安装的时候先安装opnecv需要的相关环境,不然可能会安装到一半就报错,百度也可以找到安装教程,如果实在不会安装貌似这个系统里面也有一个默认的openncv,4.5.0版本的,在终端输入这个 :**pkg-config --modversion opencv4 ** 能看见版本。
如果你也是用qt获取摄像头画面 先在pro文件里面导入opencv相关的lib库文件和头文件
在这里插入图片描述INCLUDEPATH引入的路径因自己的opencv头文件路径而定,这里注意引入路径到opecv4就可以了,如果到opecv4/opecnv2使用的时候可能会出现相关的头文件找不到
LIBS里面对应的库文件,我理解是对应usr/lib里面的相关so库文件
下面的代码就可以实现图像的获取,只需要把方法里面的代码复制到你的方法里面就行

void ShowImage::run()
{VideoCapture cat("v4l2src device=/dev/video51 io-mode=4  ! video/x-raw,format=NV12,width=720,height=576,framerate=15/1   ! appsink ",CAP_GSTREAMER);if(!cat.isOpened()){qDebug()<<"无法打开摄像头节点";}Mat fram;Mat mat;while (true) {cat.read(fram);if(fram.empty()){qDebug()<<"没有数据";break;}cvtColor(fram,mat,cv::COLOR_YUV2RGB_NV12);//如果不转换QImage取不到数据QImage img = QImage(mat.data,mat.cols,mat.rows,mat.step,QImage::Format_RGB888);}qDebug()<<"摄像头打开成功";
}

如果你遇到以下警告,那很有可能是你的VideoCapture cat(参数)这个里面参数有问题,这个里面的参数数据是来自于usr/local/bin/test_carema.sh 这个执行文件的内容进行修改的,不能全部复制

(qt_demo2:17300): GLib-GObject-WARNING **: 16:04:49.922: invalid cast from 'GstAppSink' to 'GstBin'(qt_demo2:17300): GStreamer-CRITICAL **: 16:04:49.923: gst_bin_iterate_elements: assertion 'GST_IS_BIN (bin)' failed(qt_demo2:17300): GStreamer-CRITICAL **: 16:04:49.924: gst_iterator_next: assertion 'it != NULL' failed(qt_demo2:17300): GStreamer-CRITICAL **: 16:04:49.924: gst_iterator_free: assertion 'it != NULL' failed
[ WARN:0] global ./modules/videoio/src/cap_gstreamer.cpp (963) open OpenCV | GStreamer warning: cannot find appsink in manual pipeline
[ WARN:0] global ./modules/videoio/src/cap_gstreamer.cpp (616) isPipelinePlaying OpenCV | GStreamer warning: GStreamer: pipeline have not been created

截图留念
在这里插入图片描述

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

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

相关文章

实战项目:基于主从Reactor模型实现高并发服务器

项目完整代码仿mudou库one thread one loop式并发服务器实现: 仿muduo库One Thread One Loop式主从Reactor模型实现⾼并发服务器&#xff1a;通过模拟实现的⾼并发服务器组件&#xff0c;可以简洁快速的完成⼀个⾼性能的服务器搭建。并且&#xff0c;通过组件内提供的不同应⽤层…

生活随笔,记录我的日常点点滴滴.

前言 &#x1f618;个人主页&#xff1a;曲终酣兴晚^R的小书屋&#x1f971; &#x1f615;作者介绍&#xff1a;一个莽莽撞撞的&#x1f43b; &#x1f496;专栏介绍&#xff1a;日常生活&往事回忆 &#x1f636;‍&#x1f32b;️每日金句&#xff1a;被人暖一下就高热&…

Mariadb高可用MHA (四十二)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、概述 1.1 概念 1.2 组成 1.3 特点 1.4 工作原理 二、构建MHA 2.1 ssh免密登录 2.2 主从复制 2.3 MHA安装 2.3.1所有节点安装perl环境 2.3..2 node 2.3.…

Linux:shell脚本 正则表达式与AWK

一、正则表达式 由一类特殊字符及文本字符所编写的模式&#xff0c;其中有些字符&#xff08;元字符&#xff09;不表示字符字面意义&#xff0c;而表示控制或通配的功能&#xff0c;类似于增强版的通配符功能&#xff0c;但与通配符不同&#xff0c;通配符功能是用来处理文件…

React+Typescript清理项目环境

上文 创建一个 ReactTypescript 项目 我们创建出了一个 React配合Ts开发的项目环境 那么 本文 我们先将环境清理感觉 方便后续开发 我们先来聊一下React的一个目录结构 跟我们之前开发的React项目还是有一些区别 public 主要是存放一些静态资源文件 例如 html 图片 icon之类的 …

Spark第二课RDD的详解

1.前言 RDD JAVA中的IO 1.小知识点穿插 1. 装饰者设计模式 装饰者设计模式:本身功能不变,扩展功能. 举例&#xff1a; 数据流的读取 一层一层的包装&#xff0c;进而将功能进行进一步的扩展 2.sleep和wait的区别 本质区别是字体不一样,sleep斜体,wait正常 斜体是静态方法…

【网络架构】华为hw交换机网络高可用网络架构拓扑图以及配置

一、网络拓扑 1.网络架构 核心层:接入网络----路由器 汇聚层:vlan间通信 创建vlan ---什么是vlan:虚拟局域网,在大型平面网络中,为了实现广播控制引入了vlan,可以根据功能或者部门等创建vlan,再把相关的端口加入到vlan.为了实现不用交换机上的相同vlan通信,需要配置中继,为了…

Vue中拖动排序功能,引入SortableJs,前端拖动排序。

背景&#xff1a; 作为一名前端开发人员&#xff0c;在工作中难免会遇到拖拽功能&#xff0c;分享一个github上一个不错的拖拽js库&#xff0c;能满足我们在项目开发中的需要&#xff0c;支持Vue和React&#xff0c;下面是我在vue后台项目中中使用SortableJS的使用详细流程&am…

小数据 vs 大数据:为AI另辟蹊径的可操作数据

在人工智能背景下&#xff0c;您可能已听说过“大数据”这一流行语&#xff0c;那“小数据”这一词呢&#xff0c;您有听说过吗&#xff1f;无论您听过与否&#xff0c;小数据都无处不在&#xff1a;线上购物体验、航空公司推荐、天气预报等均依托小数据。小数据即一种采用可访…

手机商城网站的分析与设计(论文+源码)_kaic

目录 摘 要 1 1 绪论 2 1.1选题背景意义 2 1.2国内外研究现状 2 1.2.1国内研究现状 2 1.2.2国外研究现状 3 1.3研究内容 3 2 网上手机商城网站相关技术 4 2.1.NET框架 4 2.2Access数据库 4 2.3 JavaScript技术 4 3网上手机商城网站分析与设…

RISC-V公测平台发布 · 7-zip 测试

简介 7-Zip 是一个开源的压缩和解压缩工具&#xff0c;具有高压缩比和快速解压缩的特点。除了普通的文件压缩和解压缩功能之外&#xff0c;7-Zip 还提供了基准测试功能&#xff0c;通过压缩和解压缩大型文件来评估系统的处理能力和性能。 7-Zip 提供了一种在不同压缩级别和多…

uniapp条形码实现

条形码在实际应用场景是经常可见的。 这里教大家如何集成uniapp条形码。条形码依赖类库JsBarcode. 下载JsBarcode源码&#xff0c;对CanvasRenderer进行了改进兼容uniapp。 import merge from "../help/merge.js"; import {calculateEncodingAttributes, getTotal…