文章目錄
- 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)
目前實測下來標準差效果較好,如下圖