文章目录

  • 1.SDK支持的平台类型
    • 1.1 Windows 平台
    • 1.2 Linux平台
  • 2.Sample_V2编译流程
    • 2.1 Windows环境
    • 2.2 Linux环境编译
  • 3.Sample_V2示例程序测试
    • 3.1 ListDevice_v2
    • 3.2 DepthStream_v2
    • 3.3 ExposureTimeSetting_v2
    • 3.4 ForceDeviceIP_v2
    • 3.5 GetCalibData_v2
    • 3.6 NetStatistic_v2
    • 3.7 OfflineReconnection_v2
    • 3.8 MultiDeviceOfflineReconnection_v2
    • 3.9 OpenWithInterface_v2
    • 3.10 OpenWithIP_v2
    • 3.11 PointCloud_v2
    • 3.12 Registration_v2
    • 3.13 ResolutionSetting_v2
    • 3.14 SaveLoadConfig_v2
    • 3.15 SoftTrigger_v2
    • 3.16 StreamAsync_v2
    • 3.17 ToFDepthStream_v2
    • 3.18 IREnhance_v2

1.SDK支持的平台类型

1.1 Windows 平台

Windows SDK 支持 X86(32位)和 X64(64位)硬件平台,并提供支持 Window7 及以上版本操作系统的驱动文件。

1.2 Linux平台

Linux SDK 支持 AArch64、ARMv7hf、RaspberryPi、i686 和 x86-64 硬件平台,并为开发者编译程序提供相应平台的库文件。
在这里插入图片描述

2.Sample_V2编译流程

Sample_V2例子是在SDK更新至3.6.66之后增加的,之前版本没有V2系列的Sample。

2.1 Windows环境

进入官网SDK链接,下载对应C++版本SDK
SDK下载链接

具体编译过程,可参看如下链接:
C++版本SDK编译链接

2.2 Linux环境编译

Ubuntu环境下,编译步骤如下:

cd /build/release
sudo cp lib/linux/lib_x64/libtycam.so* /usr/lib/
cd sample
mkdir build
cd build
cmake ..
make

如果需要只编译sample_v2,关闭sample_v1,则cmake增加如下参数:

cmake .. -DBUILD_SAMPLES=off

在sample_v2基础上关闭对opencv依赖,则cmake增加如下:

cmake .. -DBUILD_SAMPLES=off -DBUILD_SAMPLE_V2_WITH_OPENCV=off

3.Sample_V2示例程序测试

3.1 ListDevice_v2

该示例程序用于枚举连接到上位机上的所有深度相机。

3.2 DepthStream_v2

该示例程序用于获取图漾相机的深度图像。

3.3 ExposureTimeSetting_v2

该示例程序用于展示如何设置相机的彩色曝光时间。

注意: 该程序默认设置RGB曝光时间为-1,无法设置成功,错-1013(out ofrange),可通过键盘输入的方式,设置合适的值。若不清楚曝光时间范围,可通过percipioviewer软件查看属性范围。

3.4 ForceDeviceIP_v2

该示例程序用于设置相机的静态ip、动态ip、临时ip。

用法:
1.设置静态ip:断电后重新上电,相机ip仍为设置值

.\ForceDeviceIP_v2.exe -static 06:2F:FA:07:F8:CB 192.168.6.81 255.255.255.0 192.168.6.1

2.设置动态ip:清除相机的静态ip

.\ForceDeviceIP_v2.exe -dynamic 06:2F:FA:07:F8:CB

.\ForceDeviceIP_v2.exe -dynamic 06:2F:FA:07:F8:CB 192.168.6.81 255.255.255.0 192.168.6.1

3.设置临时ip:设置临时的相机ip,断电重启后,相机仍以DHCP/Link-local.的方式申请ip

.\ForceDeviceIP_v2.exe -force 06:2F:FA:07:F8:CB 192.168.6.8 255.255.255.0 192.168.6.1

相机用法可以参考:设置相机IP地址

3.5 GetCalibData_v2

该示例程序用于获取相机的标定参数。

注意:只能获取相机原始的标定参数,获取到的参数不会随着分辨率切换而发生改变。

3.6 NetStatistic_v2

该示例程序用于测试网络相机深度图像的丢包率。
packetReceived:上位机共收到的数据包数量
packetLost:上位机共未收到的数据包数量
imageOutputed:上位机总的收到的图像数量(与数据流个数成整倍数关系)
imageDropped:上位机总的未收到的图像数量

3.7 OfflineReconnection_v2

该示例程序展示了图漾相机发生掉线异常后,上位机重连相机的方法。

3.8 MultiDeviceOfflineReconnection_v2

该示例程序展示了多台图漾相机其中一台或者多台相机发生掉线异常后,上位机重连某台相机的方法。

3.9 OpenWithInterface_v2

该示例程序展示了通过指定网卡打开图漾相机的使用方法。

使用步骤:
1.指定序列号

.\OpenWithInterface_v2.exe -id 207000153360

2.指定网卡
  在执行步骤1后,程序进入交互模式,通过输入键盘上的数字并以回车确认,选择所需的网卡。
  下图中表示通过” wifi-c4-bd-e5-9c-ba-0db202a8c0”这个接口打开序列号为207000153360的相机。
在这里插入图片描述

3.10 OpenWithIP_v2

该示例程序用于通过指定ip打开图漾网络相机的使用方法。

使用方法

.\OpenWithIP_v2.exe -ip 192.168.6.87

注意:192.168.6.87是相机IP地址

3.11 PointCloud_v2

该示例程序用于保存图漾相机采集时候的点云图/Depth2Color点云。保存格式: ply,单位:m。

使用办法
   在出现提示语“Press 'c' to take a picture and 'q' to exit”后,按“c”保存或按“q”退出,文件保存路径为程序执行目录。

3.12 Registration_v2

该示例程序展示了图漾处理相机深度图和彩色图对齐的2种方式:D2C和C2D。

使用方法
1.DepthToColor 深度图对齐到彩色图

#define MAP_DEPTH_TO_COLOR  1   (修改代码第4)

2.ColorToDepth 彩色图对齐到深度图

#define MAP_DEPTH_TO_COLOR  0   (修改代码第4)

3.13 ResolutionSetting_v2

该示例展示了图漾SDK设置相机分辨率及其格式的方法。

使用方法:
运行程序后根据终端提示,输入要配置的RGB分辨率对应的数字编号,并按回车确认。

   1.下图RGB分辨率为:YUYV 640x360
在这里插入图片描述
   2.设置Depth分辨率

.\ResolutionSetting_v2.exe -id 207000153024 -width 1280 -height 800,表示设置depth的分辨率为1280x800。

注意:在该示例程序中,若不输入depth分辨率的宽和高,则不输出depth图像。

3.14 SaveLoadConfig_v2

该示例程序展示了将相机参数保存至custom_block.bin(相机内部存储区)和将相机参数从custom_block.bin导出至本地的方法。

3.15 SoftTrigger_v2

该示例程序展示了如何将相机配置在触发模式下,并实现采图的方法。

3.16 StreamAsync_v2

该示例程序展示了如何配置相机数据流异步,并实现采图的方法。

3.17 ToFDepthStream_v2

该示例程序展示了如何对ToF深度图像进行畸变校正的方法。

3.18 IREnhance_v2

ToF相机红外图像增强示例程序。

LinearStretchProcesser:线性拉伸
func:result=(src-min(src))* 255.0 / (max(src) - min(src))

LinearStretchMultiProcesser:通过扩展比例对图像的像素值进行线性变换func:result=src*multi_expandratio

LinearStretchStdProcesser:基于标准差的线性拉伸,func:result=src255.0/(std_expandratiostd(src))

NoLinearStretchLog2Processer:基于对数变换的非线性拉伸,
func:result=log_expandratio * log2(src)

NoLinearStretchHistProcesser:基于直方图的非线性拉伸,
func:result=equalizeHist(src)

目前实测下来标准差效果较好,如下图
在这里插入图片描述

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

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

相关文章

Google-chrome版本升级后sogou输入法不工作了

背景: 笔记本Thinkpad E450,操作系统Ubuntu 24.04.2 LTS,Chrome浏览器版本135.0.7049.114-1,Edge浏览器版本131.0.2903.99-1,输入法Sogou版本4.2.1.145 现象: - **正常场景**:Edge中可通过Ctrl…

7系列 之 OSERDESE2

背景 《ug471_7Series_SelectIO.pdf》介绍了Xilinx 7 系列 SelectIO 的输入/输出特性及逻辑资源的相关内容。 第 1 章《SelectIO Resources》介绍了输出驱动器和输入接收器的电气特性,并通过大量实例解析了各类标准接口的实现。 第 2 章《SelectIO Logic Resource…

Ansible 流程控制

条件语句(判断) 当满足什么条件时,就执行那些tasks when 当...时ansible获取主机名 # 主机名中,不包含.没有区别 ansible_hostname # 包含.只显示第一个.前面的名字 ansible_fqdn # 包含.显示完整的主机名不管是shell还是各大编程语言中&#xf…

git命令积累(个人学习)

如何将docx文件不上传? 创建或编辑 .gitignore 文件 打开 .gitignore 文件,添加以下内容来忽略所有 .docx 文件: *.docx清除已追踪的 .docx 文件 git rm --cached "*.docx"这将从 Git 仓库中删除 .docx 文件,但不会删…

springboot应用大批量导出excel产生oom处理措施实践(适用于poieasyexcel)

一、背景: 在某些信息管理场景中,存在大批量导出需求,例如一次性导出10~100w行excel数据,如果不做特殊的处理,很容易导致Out Of Memory,特别是堆内存溢出。 oom复现 例如修改IDEA运行配置,VM…

谷歌在即将举行的I/O大会之前,意外泄露了其全新设计语言“Material 3 Expressive”的细节

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

深入理解负载均衡:传输层与应用层的原理与实战

目录 前言1. 传输层(Layer 4)负载均衡1.1 工作层级与核心机制1.2 实现方式详解1.3 优缺点分析1.4 典型实现工具 2. 应用层(Layer 7)负载均衡2.1 工作层级与核心机制2.2 实现方式解析2.3 优缺点分析2.4 常用实现工具 3. Layer 4 与…

PyTorch 版本、torchvision 版本和 Python 版本的对应关系

PyTorch 版本、torchvision 版本和 Python 版本的对应关系 在深度学习领域,PyTorch 及其配套库 torchvision 的使用极为广泛。但不同版本的 PyTorch、torchvision 与 Python 之间存在严格的对应关系,若版本搭配不当,会导致代码运行出错…

【hadoop】Hbase java api 案例

代码实现: HBaseConnection.java package com.peizheng.bigdata;import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client…

荣耀A8互动娱乐组件部署实录(第3部分:控制端结构与房间通信协议)

作者:曾在 WebSocket 超时里泡了七天七夜的苦命人 一、控制端总体架构概述 荣耀A8控制端主要承担的是“运营支点”功能,也就是开发与运营之间的桥梁。它既不直接参与玩家行为,又控制着玩家的行为逻辑和游戏规则触发机制。控制端的主要职责包…

Vue3路由模式为history,使用nginx部署上线后刷新404的问题

一、问题 在使用nginx部署vue3的项目后,发现正常时可以访问的,但是一旦刷新,就是出现404的情况 二、解决方法 1.vite.config.js配置 在vite.config.js中加入以下配置 export default defineConfig(({ mode }) > {const isProduction …

企业级UI测试的“双保险”:TestComplete的智能对象识别与详细报告功能

企业级UI测试真是让人头疼!界面元素变来变去,测试脚本动不动就报错,测试工作根本没法顺利推进。而且,测试结果的管理和共享也麻烦得很,团队协作效率大打折扣。别急!TestComplete的智能对象识别和详细测试报…

SpringBoot的自动配置和起步依赖原理

关于Spring Boot的自动配置和起步依赖,我想结合最新的实现机制来展开说明。先说自动配置——这是Spring Boot最核心的"约定优于配置"思想的落地体现。举个例子,当我们创建一个新的Spring Boot项目时,只要在pom.xml里添加了spring-b…

《MATLAB实战训练营:从入门到工业级应用》高阶挑战篇-《5G通信速成:MATLAB毫米波信道建模仿真指南》

《MATLAB实战训练营:从入门到工业级应用》高阶挑战篇-5G通信速成:MATLAB毫米波信道建模仿真指南 🚀📡 大家好!今天我将带大家进入5G通信的奇妙世界,我们一起探索5G通信中最激动人心的部分之一——毫米波信…

一、Redis快速入门

Redis的常见命令和客户端使用 一、初识Redis Redis是一种键值型的NoSql数据库,这里有两个关键字: 键值型 NoSql 其中键值型,是指Redis中存储的数据都是以key、value对的形式存储,而value的形式多种多样,可以是字符…

gitcode 上传文件报错文件太大has exceeded the limited size (10 MiB) in commit

登陆gitcoe,在项目设置->提交设置 ,勾选提交文件限制,修改限制的大小。 修改完后,重新提交代码。

【运维】构建基于Python的自动化运维平台:用Flask和Celery打造高效管理工具

《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 随着企业IT基础设施的复杂性不断增加,手动运维已无法满足高效管理的需求。本文详细介绍如何基于Python构建一个自动化运维平台,利用Flask…

基于大模型预测的产钳助产分娩全方位研究报告

目录 一、引言 1.1 研究背景与意义 1.2 研究目的与方法 二、产钳助产分娩概述 2.1 产钳助产定义与历史 2.2 适用情况与临床意义 三、大模型预测原理与数据基础 3.1 大模型技术原理 3.2 数据收集与处理 3.3 模型训练与验证 四、术前预测与准备 4.1 大模型术前风险预…

css使用aspect-ratio制作4:3和9:16和1:1等等比例布局

文章目录 1. 前言2. 用法2.1 基本语法2.2. 与max-width、max-height等属性结合使用2.3. 动态计算比例 3. 应用场景4. 兼容性和替代方案5. 总结 1. 前言 在网页制作过程中,有时候我们只知道宽度,或者只知道高度,这时候需要制作一个4:3和9:16这…

【国产化】在银河麒麟ARM环境下离线安装docker

1、前言 采用离线安装的方式。 关于离线安装的方式官网有介绍,但是说的很简单,网址:Binaries | Docker Docs 官网介绍的有几种主流linux系统的安装方式,但是没有kylin的,所以在此记录一下。 在安装过程中也遇到了些…