[英]How to synchronize threads to capture same number of frames?
我正在開發Kinect應用程序。 我有兩個線程,一個用於讀取關節的值(包含20個關節的x,y,z坐標),另一個用於讀取深度值(每幀76800個短值)。 從開始按鈕到結束按鈕,我一直在記錄這些值。 我希望編寫相同數量的關節框架和深度,但是我總是以很多關節框架告終。 我捕獲了150個深度幀,但捕獲了180個聯合幀,我認為這是因為深度寫入緩沖區的數據量很大。 關節每幀只寫60個浮子,但深度為76800短褲。
如何從每個幀中捕獲相等數量的幀? (Kinect捕獲深度並以25到30 FPS進行協調)
此日志還顯示了每個不相等的被調用線程的數量:
112/11/9 4:19:58: SKELETON
112/11/9 4:19:58: DEPTH
112/11/9 4:19:58: SKELETON
112/11/9 4:19:58: SKELETON
112/11/9 4:19:58: DEPTH
112/11/9 4:19:58: SKELETON
112/11/9 4:19:59: DEPTH
112/11/9 4:19:59: DEPTH
112/11/9 4:19:59: SKELETON
112/11/9 4:19:59: SKELETON
112/11/9 4:19:59: SKELETON
112/11/9 4:19:59: DEPTH
112/11/9 4:19:59: DEPTH
112/11/9 4:19:59: SKELETON
112/11/9 4:19:59: SKELETON
112/11/9 4:19:59: DEPTH
112/11/9 4:19:59: SKELETON
112/11/9 4:19:59: SKELETON
112/11/9 4:19:59: SKELETON
112/11/9 4:19:59: SKELETON
112/11/9 4:19:59: DEPTH
112/11/9 4:19:59: SKELETON
112/11/9 4:19:59: DEPTH
112/11/9 4:19:59: SKELETON
112/11/9 4:19:59: SKELETON
112/11/9 4:19:59: DEPTH
112/11/9 4:19:59: SKELETON
112/11/9 4:19:59: DEPTH
112/11/9 4:19:59: DEPTH
112/11/9 4:19:59: SKELETON
112/11/9 4:19:59: SKELETON
112/11/9 4:19:59: DEPTH
112/11/9 4:20:0: SKELETON
112/11/9 4:20:0: SKELETON
112/11/9 4:20:0: SKELETON
112/11/9 4:20:0: DEPTH
112/11/9 4:20:0: SKELETON
112/11/9 4:20:0: DEPTH
112/11/9 4:20:0: DEPTH
112/11/9 4:20:0: SKELETON
112/11/9 4:20:0: SKELETON
112/11/9 4:20:0: DEPTH
112/11/9 4:20:0: SKELETON
112/11/9 4:20:0: DEPTH
112/11/9 4:20:0: SKELETON
112/11/9 4:20:0: DEPTH
112/11/9 4:20:0: SKELETON
112/11/9 4:20:0: DEPTH
112/11/9 4:20:0: SKELETON
112/11/9 4:20:0: SKELETON
112/11/9 4:20:0: SKELETON
112/11/9 4:20:0: SKELETON
112/11/9 4:20:0: DEPTH
112/11/9 4:20:0: SKELETON
112/11/9 4:20:0: DEPTH
112/11/9 4:20:0: SKELETON
112/11/9 4:20:0: SKELETON
112/11/9 4:20:0: SKELETON
112/11/9 4:20:1: SKELETON
112/11/9 4:20:1: DEPTH
112/11/9 4:20:1: DEPTH
112/11/9 4:20:1: SKELETON
112/11/9 4:20:1: SKELETON
112/11/9 4:20:1: DEPTH
112/11/9 4:20:1: SKELETON
112/11/9 4:20:1: DEPTH
112/11/9 4:20:1: SKELETON
112/11/9 4:20:1: DEPTH
112/11/9 4:20:1: DEPTH
112/11/9 4:20:1: SKELETON
112/11/9 4:20:1: SKELETON
112/11/9 4:20:1: SKELETON
112/11/9 4:20:1: DEPTH
112/11/9 4:20:1: DEPTH
112/11/9 4:20:1: DEPTH
112/11/9 4:20:1: SKELETON
112/11/9 4:20:1: DEPTH
112/11/9 4:20:1: DEPTH
112/11/9 4:20:1: SKELETON
112/11/9 4:20:1: SKELETON
112/11/9 4:20:1: SKELETON
112/11/9 4:20:1: SKELETON
112/11/9 4:20:1: DEPTH
112/11/9 4:20:1: SKELETON
112/11/9 4:20:1: DEPTH
112/11/9 4:20:1: SKELETON
112/11/9 4:20:1: DEPTH
112/11/9 4:20:1: SKELETON
112/11/9 4:20:1: DEPTH
112/11/9 4:20:1: SKELETON
112/11/9 4:20:2: DEPTH
112/11/9 4:20:2: SKELETON
112/11/9 4:20:2: SKELETON
112/11/9 4:20:2: SKELETON
112/11/9 4:20:2: SKELETON
112/11/9 4:20:2: SKELETON
112/11/9 4:20:2: DEPTH
112/11/9 4:20:2: DEPTH
112/11/9 4:20:2: DEPTH
112/11/9 4:20:2: DEPTH
112/11/9 4:20:2: SKELETON
112/11/9 4:20:2: SKELETON
112/11/9 4:20:2: SKELETON
112/11/9 4:20:2: SKELETON
112/11/9 4:20:2: SKELETON
112/11/9 4:20:2: SKELETON
112/11/9 4:20:2: SKELETON
112/11/9 4:20:2: SKELETON
112/11/9 4:20:2: DEPTH
112/11/9 4:20:2: SKELETON
112/11/9 4:20:2: SKELETON
112/11/9 4:20:2: DEPTH
112/11/9 4:20:2: SKELETON
112/11/9 4:20:2: SKELETON
112/11/9 4:20:2: DEPTH
112/11/9 4:20:2: SKELETON
112/11/9 4:20:2: SKELETON
112/11/9 4:20:2: SKELETON
112/11/9 4:20:2: DEPTH
112/11/9 4:20:3: DEPTH
112/11/9 4:20:3: SKELETON
112/11/9 4:20:3: SKELETON
112/11/9 4:20:3: DEPTH
112/11/9 4:20:3: DEPTH
112/11/9 4:20:3: SKELETON
112/11/9 4:20:3: DEPTH
112/11/9 4:20:3: SKELETON
112/11/9 4:20:3: DEPTH
112/11/9 4:20:3: SKELETON
112/11/9 4:20:3: SKELETON
112/11/9 4:20:3: SKELETON
112/11/9 4:20:3: SKELETON
112/11/9 4:20:3: SKELETON
112/11/9 4:20:3: SKELETON
112/11/9 4:20:3: DEPTH
112/11/9 4:20:3: DEPTH
112/11/9 4:20:3: DEPTH
112/11/9 4:20:3: SKELETON
112/11/9 4:20:3: SKELETON
112/11/9 4:20:3: DEPTH
112/11/9 4:20:3: SKELETON
112/11/9 4:20:3: DEPTH
112/11/9 4:20:4: SKELETON
112/11/9 4:20:4: DEPTH
112/11/9 4:20:4: DEPTH
112/11/9 4:20:4: SKELETON
112/11/9 4:20:4: SKELETON
112/11/9 4:20:4: DEPTH
112/11/9 4:20:4: DEPTH
112/11/9 4:20:4: DEPTH
112/11/9 4:20:4: SKELETON
112/11/9 4:20:4: SKELETON
112/11/9 4:20:4: DEPTH
112/11/9 4:20:4: DEPTH
112/11/9 4:20:4: SKELETON
112/11/9 4:20:4: SKELETON
112/11/9 4:20:4: DEPTH
112/11/9 4:20:4: DEPTH
112/11/9 4:20:4: DEPTH
112/11/9 4:20:4: SKELETON
112/11/9 4:20:4: SKELETON
112/11/9 4:20:5: DEPTH
112/11/9 4:20:5: SKELETON
112/11/9 4:20:5: DEPTH
112/11/9 4:20:5: SKELETON
112/11/9 4:20:5: SKELETON
112/11/9 4:20:5: DEPTH
112/11/9 4:20:5: DEPTH
112/11/9 4:20:5: SKELETON
112/11/9 4:20:5: DEPTH
112/11/9 4:20:5: SKELETON
112/11/9 4:20:5: DEPTH
112/11/9 4:20:5: SKELETON
112/11/9 4:20:5: SKELETON
112/11/9 4:20:5: DEPTH
112/11/9 4:20:5: SKELETON
112/11/9 4:20:5: DEPTH
112/11/9 4:20:5: SKELETON
112/11/9 4:20:5: DEPTH
112/11/9 4:20:5: SKELETON
112/11/9 4:20:5: DEPTH
112/11/9 4:20:5: DEPTH
112/11/9 4:20:5: SKELETON
112/11/9 4:20:5: SKELETON
112/11/9 4:20:5: DEPTH
112/11/9 4:20:5: DEPTH
112/11/9 4:20:6: SKELETON
112/11/9 4:20:6: DEPTH
112/11/9 4:20:6: DEPTH
112/11/9 4:20:6: SKELETON
112/11/9 4:20:6: SKELETON
112/11/9 4:20:6: DEPTH
112/11/9 4:20:6: SKELETON
112/11/9 4:20:6: SKELETON
112/11/9 4:20:6: SKELETON
112/11/9 4:20:6: SKELETON
112/11/9 4:20:6: SKELETON
112/11/9 4:20:6: DEPTH
112/11/9 4:20:6: SKELETON
112/11/9 4:20:6: DEPTH
112/11/9 4:20:6: SKELETON
112/11/9 4:20:6: SKELETON
112/11/9 4:20:6: SKELETON
112/11/9 4:20:6: SKELETON
112/11/9 4:20:6: DEPTH
112/11/9 4:20:6: SKELETON
112/11/9 4:20:6: SKELETON
112/11/9 4:20:6: SKELETON
112/11/9 4:20:6: DEPTH
112/11/9 4:20:6: DEPTH
N
112/11/9 4:20:7: SKELETON
112/11/9 4:20:7: DEPTH
112/11/9 4:20:7: DEPTH
112/11/9 4:20:7: SKELETON
112/11/9 4:20:7: SKELETON
112/11/9 4:20:7: DEPTH
112/11/9 4:20:8: SKELETON
112/11/9 4:20:8: DEPTH
112/11/9 4:20:8: SKELETON
112/11/9 4:20:8: SKELETON
112/11/9 4:20:8: DEPTH
112/11/9 4:20:8: DEPTH
112/11/9 4:20:8: SKELETON
112/11/9 4:20:8: SKELETON
112/11/9 4:20:8: SKELETON
112/11/9 4:20:8: SKELETON
112/11/9 4:20:8: DEPTH
112/11/9 4:20:8: SKELETON
112/11/9 4:20:8: SKELETON
112/11/9 4:20:8: DEPTH
112/11/9 4:20:8: DEPTH
112/11/9 4:20:8: SKELETON
112/11/9 4:20:8: DEPTH
112/11/9 4:20:8: SKELETON
112/11/9 4:20:8: SKELETON
112/11/9 4:20:8: DEPTH
112/11/9 4:20:8: DEPTH
112/11/9 4:20:8: SKELETON
112/11/9 4:20:8: SKELETON
112/11/9 4:20:8: SKELETON
112/11/9 4:20:8: DEPTH
112/11/9 4:20:8: SKELETON
112/11/9 4:20:8: SKELETON
112/11/9 4:20:8: SKELETON
112/11/9 4:20:8: DEPTH
112/11/9 4:20:8: SKELETON
112/11/9 4:20:8: SKELETON
112/11/9 4:20:8: DEPTH
112/11/9 4:20:9: SKELETON
112/11/9 4:20:9: DEPTH
112/11/9 4:20:9: SKELETON
112/11/9 4:20:9: SKELETON
112/11/9 4:20:9: DEPTH
112/11/9 4:20:9: SKELETON
112/11/9 4:20:9: DEPTH
112/11/9 4:20:9: SKELETON
112/11/9 4:20:9: DEPTH
112/11/9 4:20:9: SKELETON
112/11/9 4:20:9: DEPTH
112/11/9 4:20:9: SKELETON
112/11/9 4:20:9: SKELETON
112/11/9 4:20:9: DEPTH
112/11/9 4:20:9: SKELETON
112/11/9 4:20:9: DEPTH
112/11/9 4:20:9: DEPTH
112/11/9 4:20:9: SKELETON
112/11/9 4:20:9: SKELETON
112/11/9 4:20:9: SKELETON
112/11/9 4:20:9: DEPTH
112/11/9 4:20:9: SKELETON
112/11/9 4:20:9: SKELETON
112/11/9 4:20:9: SKELETON
112/11/9 4:20:9: DEPTH
112/11/9 4:20:9: SKELETON
112/11/9 4:20:9: SKELETON
112/11/9 4:20:9: SKELETON
112/11/9 4:20:10: DEPTH
112/11/9 4:20:10: SKELETON
112/11/9 4:20:10: SKELETON
112/11/9 4:20:10: SKELETON
112/11/9 4:20:10: DEPTH
112/11/9 4:20:10: SKELETON
112/11/9 4:20:10: SKELETON
112/11/9 4:20:10: DEPTH
112/11/9 4:20:10: SKELETON
112/11/9 4:20:10: SKELETON
112/11/9 4:20:10: SKELETON
112/11/9 4:20:10: DEPTH
112/11/9 4:20:10: SKELETON
112/11/9 4:20:10: SKELETON
112/11/9 4:20:10: DEPTH
112/11/9 4:20:10: SKELETON
112/11/9 4:20:10: SKELETON
112/11/9 4:20:10: DEPTH
112/11/9 4:20:10: SKELETON
112/11/9 4:20:10: DEPTH
112/11/9 4:20:10: SKELETON
112/11/9 4:20:10: DEPTH
112/11/9 4:20:10: SKELETON
112/11/9 4:20:10: SKELETON
112/11/9 4:20:10: DEPTH
112/11/9 4:20:10: SKELETON
112/11/9 4:20:10: DEPTH
112/11/9 4:20:10: SKELETON
112/11/9 4:20:11: SKELETON
112/11/9 4:20:11: DEPTH
112/11/9 4:20:11: SKELETON
112/11/9 4:20:11: DEPTH
112/11/9 4:20:11: SKELETON
112/11/9 4:20:11: DEPTH
112/11/9 4:20:11: SKELETON
112/11/9 4:20:11: DEPTH
112/11/9 4:20:11: SKELETON
112/11/9 4:20:11: SKELETON
112/11/9 4:20:11: DEPTH
112/11/9 4:20:11: SKELETON
112/11/9 4:20:11: DEPTH
112/11/9 4:20:11: SKELETON
112/11/9 4:20:11: DEPTH
112/11/9 4:20:11: SKELETON
112/11/9 4:20:11: SKELETON
112/11/9 4:20:11: DEPTH
112/11/9 4:20:11: SKELETON
112/11/9 4:20:11: DEPTH
112/11/9 4:20:11: SKELETON
112/11/9 4:20:11: SKELETON
112/11/9 4:20:11: DEPTH
112/11/9 4:20:11: DEPTH
112/11/9 4:20:11: SKELETON
112/11/9 4:20:11: DEPTH
N
112/11/9 4:20:12: DEPTH
112/11/9 4:20:12: SKELETON
112/11/9 4:20:12: DEPTH
112/11/9 4:20:12: SKELETON
112/11/9 4:20:12: DEPTH
112/11/9 4:20:12: SKELETON
112/11/9 4:20:12: SKELETON
112/11/9 4:20:12: DEPTH
112/11/9 4:20:12: SKELETON
112/11/9 4:20:12: DEPTH
112/11/9 4:20:12: SKELETON
112/11/9 4:20:12: DEPTH
112/11/9 4:20:12: SKELETON
112/11/9 4:20:12: DEPTH
112/11/9 4:20:12: SKELETON
112/11/9 4:20:12: DEPTH
112/11/9 4:20:12: SKELETON
112/11/9 4:20:12: DEPTH
112/11/9 4:20:12: SKELETON
112/11/9 4:20:12: SKELETON
112/11/9 4:20:12: DEPTH
112/11/9 4:20:12: DEPTH
112/11/9 4:20:12: SKELETON
112/11/9 4:20:12: SKELETON
112/11/9 4:20:12: DEPTH
112/11/9 4:20:13: SKELETON
112/11/9 4:20:13: DEPTH
112/11/9 4:20:13: SKELETON
112/11/9 4:20:13: SKELETON
112/11/9 4:20:13: DEPTH
112/11/9 4:20:13: SKELETON
112/11/9 4:20:13: DEPTH
112/11/9 4:20:13: DEPTH
112/11/9 4:20:13: SKELETON
112/11/9 4:20:13: SKELETON
112/11/9 4:20:13: SKELETON
112/11/9 4:20:13: DEPTH
112/11/9 4:20:13: SKELETON
112/11/9 4:20:13: DEPTH
112/11/9 4:20:13: SKELETON
112/11/9 4:20:13: DEPTH
112/11/9 4:20:13: SKELETON
112/11/9 4:20:13: SKELETON
112/11/9 4:20:13: DEPTH
112/11/9 4:20:13: DEPTH
112/11/9 4:20:13: DEPTH
112/11/9 4:20:13: SKELETON
112/11/9 4:20:13: DEPTH
112/11/9 4:20:13: SKELETON
112/11/9 4:20:13: SKELETON
112/11/9 4:20:13: SKELETON
112/11/9 4:20:14: SKELETON
112/11/9 4:20:14: DEPTH
112/11/9 4:20:14: SKELETON
112/11/9 4:20:14: DEPTH
112/11/9 4:20:14: SKELETON
112/11/9 4:20:14: SKELETON
112/11/9 4:20:14: DEPTH
112/11/9 4:20:14: DEPTH
112/11/9 4:20:14: SKELETON
112/11/9 4:20:14: SKELETON
112/11/9 4:20:14: DEPTH
112/11/9 4:20:14: SKELETON
112/11/9 4:20:14: SKELETON
112/11/9 4:20:14: DEPTH
112/11/9 4:20:14: SKELETON
112/11/9 4:20:14: SKELETON
112/11/9 4:20:14: DEPTH
112/11/9 4:20:14: SKELETON
112/11/9 4:20:14: DEPTH
112/11/9 4:20:14: SKELETON
112/11/9 4:20:14: DEPTH
112/11/9 4:20:14: SKELETON
112/11/9 4:20:14: SKELETON
112/11/9 4:20:14: DEPTH
112/11/9 4:20:15: SKELETON
112/11/9 4:20:15: DEPTH
112/11/9 4:20:15: SKELETON
112/11/9 4:20:15: DEPTH
112/11/9 4:20:15: SKELETON
112/11/9 4:20:15: DEPTH
112/11/9 4:20:15: DEPTH
112/11/9 4:20:15: SKELETON
112/11/9 4:20:15: SKELETON
112/11/9 4:20:15: DEPTH
共享表受鎖和條件變量保護,該變量對已捕獲的每種類型的幀數進行計數。 如果一個線程發現它捕獲了比另一個線程更多的幀,則將其阻塞在條件變量上。 當任一線程完成獲取幀時,它將增加其類型的計數並廣播條件變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.