)
文章目录前言示例程序说明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 设置静态IP3.5 GetCalibData_v2 获取相机标定参数3.6 NetStatistic_v2 测试相机网络情况3.7 OfflineReconnection_v2 单掉线重连3.8 MultiDeviceOfflineReconnection_v2 多相机掉线重连3.9 OpenWithInterface_v2 指定网卡打开相机3.10 OpenWithIP_v2 通过IP打开相机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 TOF相机获取深度图3.18 IREnhance_v2 IR图像增强4.参考例程4.1 深度图填充空洞/去噪/时域滤波例程5.常见问题FAQ前言请参考图漾官网的在线文档C示例程序下载对于载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_SAMPLESoff在sample_v2基础上关闭对opencv依赖则cmake增加如下:cmake..-DBUILD_SAMPLESoff-DBUILD_SAMPLE_V2_WITH_OPENCVoff示例程序说明1.ListDevices_v2该示例程序用于枚举连接到上位机上的所有深度相机。2.DepthStream_v2该示例程序用于获取图漾相机的深度图像。3.ExposureTimeSetting_v2该示例程序用于设置相机的彩色图曝光时间。4.ForceDeviceIP_v2该示例程序用于强制设置网络深度相机的 IP 地址。5.GetCalibData_v2该示例程序用于获取深度相机原始的标定参数。6.TofDepthStream_v2该示例程序用于对 tof 深度图像进行畸变校正。7.IREnhance_v2该示例程序实现 tof 相机红外图像的增强处理。8.NetStatistic_v2该示例程序用于统计网络深度相机的丢包率。9.OfflineReconnection_v2该示例程序用于图漾相机掉线后自动重连。10.OpenWithInterface_v2该示例程序用于通过指定网卡打开图漾相机。11.OpenWithIP_v2该示例程序用于通过指定 ip 打开图漾网络相机。12.PointCloud_v2该示例程序用于获取并保存格式为 ply 的 3D 点云数据。13.Registration_v2该示例程序用于 RGB-D 图像配准支持将深度图像映射到彩色图像坐标系或将彩色图像映射到深度图像坐标系。14.ResolutionSetting_v2该示例程序用于设置相机分辨率支持通过交互方式或直接指定图像模式来设置分辨率。15.SaveLoadConfig_v2该示例程序用于将相机参数保存到 custom_block.bin 相机内部存储区并能从 custom_block.bin 导出相机参数至本地。16.SoftTrigger_v2该示例程序用于相机收到软触发指令或硬触发信号后采集图像并输出图像数据。17.StreamAsync_v2该示例程序用于配置图漾相机图像数据流异步输出。1.SDK支持的平台类型1.1 Windows 平台Windows SDK 支持 X8632位和 X6464位硬件平台并提供支持 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版本SDKSDK下载链接具体编译过程可参看如下链接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_SAMPLESoff在sample_v2基础上关闭对opencv依赖则cmake增加如下:cmake..-DBUILD_SAMPLESoff-DBUILD_SAMPLE_V2_WITH_OPENCVoff3.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、临时ip。用法1.设置静态ip断电后重新上电相机ip仍为设置值.\ForceDeviceIP_v2.exe-static06:2F:FA:07:F8:CB192.168.6.81255.255.255.0192.168.6.12.设置动态ip清除相机的静态ip.\ForceDeviceIP_v2.exe-dynamic06:2F:FA:07:F8:CB或.\ForceDeviceIP_v2.exe-dynamic06:2F:FA:07:F8:CB192.168.6.81255.255.255.0192.168.6.13.设置临时ip设置临时的相机ip断电重启后相机仍以DHCP/Link-local.的方式申请ip.\ForceDeviceIP_v2.exe-force06:2F:FA:07:F8:CB192.168.6.8255.255.255.0192.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-id2070001533602.指定网卡在执行步骤1后程序进入交互模式通过输入键盘上的数字并以回车确认选择所需的网卡。下图中表示通过”wifi-c4-bd-e5-9c-ba-0db202a8c0”这个接口打开序列号为207000153360的相机。3.10 OpenWithIP_v2 通过IP打开相机该示例程序用于通过指定ip打开图漾网络相机的使用方法。使用方法.\OpenWithIP_v2.exe-ip192.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 深度图对齐到彩色图#defineMAP_DEPTH_TO_COLOR1(修改代码第4行)2.ColorToDepth 彩色图对齐到深度图#defineMAP_DEPTH_TO_COLOR0(修改代码第4行)3.13 ResolutionSetting_v2 设置图像分辨率该示例展示了图漾SDK设置相机分辨率及其格式的方法。使用方法运行程序后根据终端提示输入要配置的RGB分辨率对应的数字编号并按回车确认。1.下图RGB分辨率为YUYV 640x3602.设置Depth分辨率.\ResolutionSetting_v2.exe-id207000153024-width1280-height800表示设置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相机获取深度图该示例程序展示了如何对ToF深度图像进行畸变校正的方法。3.18 IREnhance_v2 IR图像增强ToF相机红外图像增强示例程序。LinearStretchProcesser线性拉伸func:result(src-min(src))* 255.0 / (max(src) - min(src))LinearStretchMultiProcesser通过扩展比例对图像的像素值进行线性变换func:resultsrc*multi_expandratioLinearStretchStdProcesser基于标准差的线性拉伸func:resultsrc255.0/(std_expandratiostd(src))NoLinearStretchLog2Processer基于对数变换的非线性拉伸func:resultlog_expandratio * log2(src)NoLinearStretchHistProcesser基于直方图的非线性拉伸func:resultequalizeHist(src)目前实测下来标准差效果较好如下图4.参考例程4.1 深度图填充空洞/去噪/时域滤波例程待补充5.常见问题FAQ下面主要介绍图漾官网C版本SDK编译过程中常遇见的问题及解决方式。