【奥比中光Gemini 2L快速上门】

news2024/12/23 18:21:14

奥比中光Gemini 2L快速上手

目录

  • 奥比中光Gemini 2L快速上手
    • @[TOC](目录)
  • 一、下载配置环境
    • 1.1 官网下载SDK
    • 1.2 配置环境
  • 二、测试
    • 2.1 在bin中运行示例
    • 2.2 配置cmake
  • 三、CMAKE
    • 3.1 CmakeLists.txt中各设置的意义

一、下载配置环境

1.1 官网下载SDK

进入官网,下载名字中带Gemini2L的SDK。

1.2 配置环境

在Ubuntu中解压打开,按照官方教程进行操作(要是lbusb没有(gemimi2L)设备的话重启试试)

二、测试

2.1 在bin中运行示例

bin中有制作好的基本程序,图片、深度、红外、点云都能获取到
OrbbecSDK_C_C++_v1.5.7_Gemini2L-P02_20230704_b951449_linux_x64_beta
├── 99-obsensor-libusb.rules // udev设备匹配规则
├── Examples // 示例程序目录
│ ├── bin // 编译的二进制文件存放目录
│ ├── c // C语言例程
│ │ ├── Sample-ColorViewer // 演示使用SDK获取彩色数据并绘制显示、获取分辨率并进行设置、显示彩色图像
│ │ ├── Sample-DepthViewer // 演示使用SDK获取深度数据并绘制显示、获取分辨率并进行设置、显示深度图像
│ │ ├── Sample-HelloOrbbec // 演示连接到设备获取SDK版本和设备信息
│ │ ├── Sample-HotPlugin // 演示设备热拔插监控,检测到设备上线自动连接设备打开深度流,检测到设备掉线自动断开设备连接
│ │ ├── Sample-InfraredViewer // 演示使用SDK获取红外数据并绘制显示、获取分辨率并进行设置、显示红外图像
│ │ ├── Sample-PointCloud // 演示生成深度点云或RGBD点云并保存成ply格式文件
│ │ └── Sample-SensorControl // 演示对设备、传感器控制命令的操作
│ └── cpp // C++语言例程
│ ├── Sample-ColorViewer // 演示使用SDK获取彩色数据并绘制显示、获取分辨率并进行设置、显示彩色图像
│ ├── Sample-DepthViewer // 演示使用SDK获取深度数据并绘制显示、获取分辨率并进行设置、显示深度图像
│ ├── Sample-HelloOrbbec // 演示连接到设备获取SDK版本和设备信息
│ ├── Sample-HotPlugin // 演示设备拔插回调的设置,并获取到插拔后处理的流
│ ├── Sample-ImuReader // 获取IMU数据并输出显示
│ ├── Sample-InfraredViewer // 演示使用SDK获取红外数据并绘制显示、获取分辨率并进行设置、显示红外图像
│ ├── Sample-MultiDevice // 演示对多设备进行操作
│ ├── Sample-Playback // 载入视频文件进行回放
│ ├── Sample-PointCloud // 演示生成深度点云或RGBD点云并保存成ply格式文件
│ ├── Sample-Recorder // 录制当前视频流到文件
│ ├── Sample-SaveToDisk // 获取彩色和深度图并存储为png格式
│ ├── Sample-SensorControl // 演示对设备和传感器控制命令的操作
│ └── Sample-SyncAlignViewer // 演示对传感器数据流对齐的操作
├── install.sh // udev设备匹配规则的安装脚本
├── README.md // 说明文档
└── SDK // 存放SDK头文件与库文件(写自己的程序的时候只需要这个目录中的文件)
├── include // SDK头文件目录
│ └── libobsensor
│ ├── h // C语言头文件
│ └── hpp // C++语言头文件
└── lib // SDK库文件

2.2 配置cmake

在主目录下配置所需的环境:

#  minimum required cmake version: 3.1.15 support vs2019

cmake_minimum_required(VERSION 3.1.15)
project(Sample-HelloOrbbec)

SET(CMAKE_BUILD_TYPE Release)

add_executable(HelloOrbbec HelloOrbbec.cpp)

set_property(TARGET HelloOrbbec PROPERTY CXX_STANDARD 11)
target_link_libraries(HelloOrbbec /home/dxfcv/workspace/sunsirui/3D/OrbbecSDK_C_C++_v1.5.7_Gemini2L-P02_20230704_b951449_linux_x64_beta/SDK/lib/libOrbbecSDK.so)

include_directories(/home/dxfcv/workspace/sunsirui/3D/OrbbecSDK_C_C++_v1.5.7_Gemini2L-P02_20230704_b951449_linux_x64_beta/SDK/include)
link_directories(/home/dxfcv/workspace/sunsirui/3D/OrbbecSDK_C_C++_v1.5.7_Gemini2L-P02_20230704_b951449_linux_x64_beta/SDK/lib)

各设置含义如下:

cmake_minimum_required (VERSION 3.1.15) # cmake最低版本

# project (test) # 项目名

add_executable(main ${PROJECT_SOURCE_DIR}/src/main.cpp) # 生成文件名和源文件名

set(CMAKE_BUILD_TYPE "Debug") # 设置编译模式

set_property(TARGET main PROPERTY CXX_STANDARD 11) # 设置c++版本

target_link_libraries(main ${PROJECT_SOURCE_DIR}/lib/first.so) # 设置链接库

include_directories(${PROJECT_SOURCE_DIR}/include) # 设置头文件目录

link_directories(${PROJECT_SOURCE_DIR}/lib) # 设置链接库文件目录

# LINK_LIBRARIES # 必须绝对路径

# find_package(OpenCV REQUIRED) # 查找库的配置文件

新建生成文件夹并生成:

mkdir build
cd build
cmake ..
make
./HelloOrbbec

就能看到结果了,其他示例都类似
请添加图片描述
请添加图片描述
请添加图片描述

请添加图片描述

三、CMAKE

3.1 CmakeLists.txt中各设置的意义

cmake_minimum_required (VERSION 3.1.15) # cmake最低版本

# project (test) # 项目名

add_executable(main ${PROJECT_SOURCE_DIR}/src/main.cpp) # 生成文件名和源文件名

set(CMAKE_BUILD_TYPE "Debug") # 设置编译模式

set_property(TARGET main PROPERTY CXX_STANDARD 11) # 设置c++版本

target_link_libraries(main ${PROJECT_SOURCE_DIR}/lib/first.so) # 设置链接库

include_directories(${PROJECT_SOURCE_DIR}/include) # 设置头文件目录

link_directories(${PROJECT_SOURCE_DIR}/lib) # 设置链接库文件目录

# LINK_LIBRARIES # 必须绝对路径

# find_package(OpenCV REQUIRED) # 查找库的配置文件

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

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

相关文章

maven的下载安装与配置环境变量!!!(全网最详细)

1.maven 官方网站,http://maven.apache.org 2.去官网下载。 3.选择你自己的解压路径(D:\maven【我的挤压路径】) 4.配置jdk环境变量(不会的小伙伴可以看我以前的博客) jdk 1.8 安装配置环境变量_明天更新的博客-CSD…

详细介绍Webpack5中的Plugin

Plugin的作用 插件Plugin可以扩展webpack,加入自定义的构建行为,使 webpack 可以执行更广泛的任务,拥有更强的构建能力。 Plugin的工作原理 webpack就像一条生产线,要经过一系列处理流程后才能将源文件转换成输出结果。 这条生…

Linux系统下MySQL读写分离

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 一、基于Amoeba读写分离 1.基于程序代码内部实现 2.基于中间代理层实现 三、操作步骤 1.在主机Amoeba上安装java环境 2.安装并配置Amoeba 3.配置Amoeba读写分离…

matlab RRR机械臂 简略代码

RRR机器人!启动! gazebo在arm mac上似乎难以运行,退而选择Matlab,完成老师第一个作业,现学现卖,权当记录作业过程,有不足之处,多多指教。 作业!启动! RRR机…

WAF绕过-信息收集篇

WAF绕过主要集中在信息收集,漏洞发现,漏洞利用,权限控制四个阶段。 1、什么是WAF? Web Application Firewall(web应用防火墙),一种公认的说法是“web应用防火墙通过执行一系列针对HTTP/HTTPS的安…

有效的随机圆检测

文章目录 0、 摘要:一、 Base Idea二、 Determining Possible Circle2.1 判别条件2.2 圆的判别 三、Determining True Circles四、The Proposed RCD五、改进六、参考在这里插入图片描述 有效的随机圆检测 0、 摘要: 参考的文章提出了一种有效的不基于霍…

一文教你搭建工程化开发环境!

搭建工程化开发环境 下载 Node.js 官方下载地址 https://nodejs.org/zh-cn/download/releases node.js 版本迭代的非常快,目前官方已经推出到 v19.2.0 版本了,相对是一个比较新的版本了。建议下载 v14.18.3 版本,至少这个版本目前在很多项…

【kubernetes系列】flannel之vxlan模式分析

概述 在Kubernetes中要保证容器之间网络互通,网络至关重要。而Kubernetes本身并没有自己实现容器网络,而是而是借助CNI标准,通过插件化的方式自由接入进来。在容器网络接入进来需要满足如下基本原则: Pod无论运行在任何节点都可…

有趣的Python之基本语法(一篇足够)

目录 Python简介 基本数据类型 进入交互模式 input()函数 条件语句 逻辑运算符 列表list 元组 字典 循环语句 format()方法和f 定义函数 python中的标准库引入 引入第三方库模块 面向对象 读文件 写文件 异常处理 Python简介 面向对象编程、函数式编程和过程…

二 动手学深度学习v2笔记 —— 线性回归 + 基础优化算法

二 动手学深度学习v2 —— 线性回归 基础优化算法 目录: 线性回归基础优化方法 1. 线性回归 总结 线性回归是对n维输入的加权,外加偏差使用平方损失来衡量预测值和真实值的差异线性回归有显示解线性回归可以看作是单层神经网络 2. 基础优化方法 梯度下降 小批量…

4通道高速数据采集卡推荐哪些呢

FMC141是一款基于VITA57.4标准的4通道2.8GSPS/2.5GSPS/1.6GSPS采样率16位DA播放FMC子卡,该板卡为FMC标准,符合VITA57.4与VITA57.1规范,16通道的JESD204B接口通过FMC连接器连接至FPGA的高速串行端口。 该板卡采用TI公司的DAC39J84芯片&#x…

【玩转Linux】Linux输入子系统简介

(꒪ꇴ꒪ ),hello我是祐言博客主页:C语言基础,Linux基础,软件配置领域博主🌍快上🚘,一起学习!送给读者的一句鸡汤🤔:集中起来的意志可以击穿顽石!作者水平很有限,如果发现错误&#x…

LeetCode每日一题Day1——买卖股票的最佳时机

✨博主:命运之光 🦄专栏:算法修炼之练气篇(C\C版) 🍓专栏:算法修炼之筑基篇(C\C版) 🐳专栏:算法修炼之练气篇(Python版) ✨…

青大数据结构【2016】

一、单选 二、简答 3.简述遍历二叉树的含义及常见的方法。

shiro550反序列化漏洞原理与漏洞复现(基于vulhub,保姆级的详细教程)

漏洞原理 本文所有使用的脚本和工具都会在文末给出链接,希望读者可以耐心看到最后。 啥是shiro? Shiro是Apache的一个强大且易用的Java安全框架,用于执行身份验证、授权、密码和会话管理。使用 Shiro 易于理解的 API,可以快速轻松地对应用程序进行保…

代码随想录算法训练营之JAVA|第十七天| 654. 最大二叉树

今天是第17天刷leetcode,立个flag,打卡60天。 算法挑战链接 654. 最大二叉树https://leetcode.cn/problems/maximum-binary-tree/description/ 第一想法 错误的想法,就不说了。 看完代码随想录之后的想法 用递归模拟真实的过程 如果我…

【iOS】通知原理

我们可以通过看通知的实现机制来了解通知中心是怎么实现对观察者的引用的。由于苹果对Foundation源码是不开源的,我们具体就参考一下GNUStep的源码实现。GNUStep的源码地址为:GNUStep源码GitHub下载地址, 具体源码可以进行查看。 通知的主要流程 通知全…

AD21 PCB设计的高级应用(二)PCB常见走线等长设计

(二)PCB常见走线等长设计 1.蛇形线的等长设计2.DDR的等长分组3.等长的拓扑结构3.1 点对点连接3.2 T型拓扑结构3.3 菊花链拓扑结构 1.蛇形线的等长设计 在 PCB 设计中,网络等长调节目的就是为了尽可能地降低信号在 PCB上传输延迟的差异。在 Altium Desig…

C语言第十三课--------初阶指针的认识--------重要部分

作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 🎂 作者介绍: 🎂🎂 🎂…

JavaSE类和对象(重点:this引用、构造方法)

目录 一、类的定义方式以及实例化 1.面向对象 Java是一门纯面向对象的语言(Object Oriented Program,简称OOP),在Java的世界里一切皆为对象。 2.类的定义和使用 1.在java中定义类时需要用到class关键字 3.类的实例化 4.类实例化的使用 二、this引用 …