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

文章目录

  • 1.SDK支持的平台类型
    • [1.1 Windows 平台](#1.1 Windows 平台)
    • [1.2 Linux平台](#1.2 Linux平台)
  • 2.Sample_V2编译流程
    • [2.1 Windows环境](#2.1 Windows环境)
    • [2.2 Linux环境编译](#2.2 Linux环境编译)
  • 3.Sample_V2示例程序测试
    • [3.1 ListDevice_v2](#3.1 ListDevice_v2)
    • [3.2 DepthStream_v2](#3.2 DepthStream_v2)
    • [3.3 ExposureTimeSetting_v2](#3.3 ExposureTimeSetting_v2)
    • [3.4 ForceDeviceIP_v2](#3.4 ForceDeviceIP_v2)
    • [3.5 GetCalibData_v2](#3.5 GetCalibData_v2)
    • [3.6 NetStatistic_v2](#3.6 NetStatistic_v2)
    • [3.7 OfflineReconnection_v2](#3.7 OfflineReconnection_v2)
    • [3.8 MultiDeviceOfflineReconnection_v2](#3.8 MultiDeviceOfflineReconnection_v2)
    • [3.9 OpenWithInterface_v2](#3.9 OpenWithInterface_v2)
    • [3.10 OpenWithIP_v2](#3.10 OpenWithIP_v2)
    • [3.11 PointCloud_v2](#3.11 PointCloud_v2)
    • [3.12 Registration_v2](#3.12 Registration_v2)
    • [3.13 ResolutionSetting_v2](#3.13 ResolutionSetting_v2)
    • [3.14 SaveLoadConfig_v2](#3.14 SaveLoadConfig_v2)
    • [3.15 SoftTrigger_v2](#3.15 SoftTrigger_v2)
    • [3.16 StreamAsync_v2](#3.16 StreamAsync_v2)
    • [3.17 ToFDepthStream_v2](#3.17 ToFDepthStream_v2)
    • [3.18 IREnhance_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环境下,编译步骤如下:

cpp 复制代码
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增加如下参数:

cpp 复制代码
cmake .. -DBUILD_SAMPLES=off

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

cpp 复制代码
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仍为设置值

cpp 复制代码
.\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

cpp 复制代码
.\ForceDeviceIP_v2.exe -dynamic 06:2F:FA:07:F8:CB

cpp 复制代码
.\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

cpp 复制代码
.\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.指定序列号

cpp 复制代码
.\OpenWithInterface_v2.exe -id 207000153360

2.指定网卡

在执行步骤1后,程序进入交互模式,通过输入键盘上的数字并以回车确认,选择所需的网卡。

下图中表示通过" wifi-c4-bd-e5-9c-ba-0db202a8c0"这个接口打开序列号为207000153360的相机。

3.10 OpenWithIP_v2

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

使用方法

cpp 复制代码
.\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 深度图对齐到彩色图

cpp 复制代码
#define MAP_DEPTH_TO_COLOR  1   (修改代码第4行)

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

cpp 复制代码
#define MAP_DEPTH_TO_COLOR  0   (修改代码第4行)

3.13 ResolutionSetting_v2

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

使用方法:

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

1.下图RGB分辨率为:YUYV 640x360

2.设置Depth分辨率

cpp 复制代码
.\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)

目前实测下来标准差效果较好,如下图

相关推荐
温轻舟10 小时前
3D词云图
前端·javascript·3d·交互·词云图·温轻舟
在下胡三汉11 小时前
粗略地看一下 glTF 2.0 的所有标准属性(顺便说一下,还有 .glb 的结构)
3d
zhongqu_3dnest13 小时前
3D可视化:开启多维洞察新时代
3d·3d建模·空间计算·3d可视化·三维空间·沉浸式体验
试着1 天前
【数据标注师】3D标注
3d·数据标注师·3d标注
工业3D_大熊10 天前
3D模式格式转换工具HOOPS Exchange如何将3D PDF转换为STEP格式?
3d·pdf·3d格式转换·3d模型格式转换·cad格式转换·cad数据格式转换·3d模型可视化
广州华锐视点10 天前
浅议 3D 展示技术为线上车展新体验带来的助力
3d
大霸王龙12 天前
AR眼镜与3D建模社区建设
3d·ar
杀生丸学AI12 天前
【物理重建】SPLART:基于3D高斯泼溅的铰链估计与部件级重建
3d·aigc·三维重建·视觉大模型·世界模型·空间智能·动态重建
Love__Tay12 天前
【Python小练习】3D散点图
开发语言·python·3d