当前位置: 首页 > news >正文

图漾相机——Sample_V2示例程序(待补充)

文章目录

  • 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)

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

相关文章:

  • 人工智能在网络安全中的重要性
  • 湖北理元理律师事务所的企业债务重组实践:挽救实体经济的法律处方
  • Android7 Input(六)InputChannel
  • 网络安全赛题解析
  • 手撕基于AMQP协议的简易消息队列-1(项目介绍与开发环境的搭建)
  • 65.微服务保姆教程 (八) 微服务开发与治理实战
  • B站搜索关键词全攻略:掌握B站搜索关键词的运作机制
  • Andorid 文件打印功能
  • 服务器托管的常见问题
  • c语言与c++到底有什么区别?
  • 【STM32单片机】#15 WDG看门狗
  • pygame联网飞机大战游戏实现
  • Elastic:什么是 AIOps?
  • ROP链-BUUCTF-cmcc_simplerop(ret2syscall)
  • vue v-html无法解析<
  • Linux网络编程day7 线程池and UDP
  • 只出现一次的数字(暴力、哈希查重、异或运算)
  • 交流中的收获-250508
  • 云手机虚拟地址技术的运营场景
  • FreeRTOS如何检测内存泄漏
  • 习近平会见缅甸领导人敏昂莱
  • 游客称在网红雪山勒多曼因峰需救援被开价2.8万,康定文旅:封闭整改
  • 东莞“超级”音乐节五一出圈背后:文旅热力何以澎湃经济脉动
  • 国防部:奉劝有关国家不要引狼入室,甘当棋子
  • 2025上海科技节将于5月17日开幕,拟设6大板块专题活动
  • 98岁动物学家、北京大学教授杨安峰逝世