跳至內容

SwisTrack/SwisTrack 介面/第三方軟體

來自華夏公益教科書

啟動時,SwisTrack 監聽埠 3000(例如 localhost:3000),接受套接字連線。命令可以作為單個字元傳送(區分大小寫),並在下面給出。SwisTrack 將以適當的動作進行響應,或傳送包含響應的字串。重要的是要確保從套接字中讀取確切的位元組數,否則訊息將混淆。每個命令都給出了可以預期接收的位元組數。

伺服器命令

[編輯 | 編輯原始碼]
'p' 暫停跟蹤
'R' 開始跟蹤
's' 執行一步
'S' 恢復跟蹤
'!' 停止跟蹤器

伺服器設定

[編輯 | 編輯原始碼]
'c' 關閉校準(預設)。所有傳送的點,無論是軌跡資料還是斑點,都將在影像座標系中傳送。
'C' 開啟校準。所有傳送的點,無論是軌跡資料還是斑點,都將在世界座標系中傳送。

獲取軌跡資料

[編輯 | 編輯原始碼]
't' 以非同步方式獲取資料點。你將始終獲取最新的軌跡資料。如果你的應用程式比 SwisTrack 生成資料更快地查詢資料,你將多次獲得相同的資料。如果 SwisTrack 執行速度更快,你最終將丟失資訊。軌跡資料被編碼為具有固定精度和前導零的浮點數元組,格式為 "+####.#### +####.####"(21 個字元)。元組用空格隔開。
'T' 以同步方式獲取資料點。每次請求資料時,SwisTrack 將處理單個幀。如果你的應用程式查詢幀的速度快於使用中的媒體(相機/影片)支援的幀速率,SwisTrack 將延遲傳送資料包。如果你的應用程式執行速度過慢,SwisTrack 將跳過相機提供的幀,但不會跳過影片源提供的幀。資料編碼方式與 't' 相同。
'N' 請求正在跟蹤的軌跡數量。資料以格式 ###(3 個字元)返回,如果需要,前面有前導零。

獲取斑點資料

[編輯 | 編輯原始碼]
'b' 與 't' 相同。SwisTrack 將傳送以斑點數量為字首的斑點。斑點數量被編碼為格式為 '####' 的整數,緊跟著斑點字串(編碼方式與 't' 相同)。
'B' 與 'b' 相同,但 SwisTrack 將執行一步並進入暫停模式(如 'T')。
'n' 請求檢測到的斑點數量。資料以格式 ###(3 個字元)返回,如果需要,前面有前導零。

獲取任務進度

[編輯 | 編輯原始碼]
'i' 以格式 ##########(10 個字元)傳送當前幀號。
'I' 以格式 ##.##(5 個字元)傳送跟蹤進度,以百分比表示。
'f' 以格式 ##.##(5 個字元)傳送當前幀速率,以赫茲表示。

資料格式

[編輯 | 編輯原始碼]

每個點(無論是校準的還是未校準的,軌跡還是斑點)都以固定精度的浮點數格式 "+####.#### +####.####" 傳送,因此長度為 21 個字元(包括分隔空格)。點被連線成一個字串。沒有終止字元。

華夏公益教科書