日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Intel Realsense D435 是否启动pipeline.start()就开始传输帧,还是只有我们调用wait_for_frames()函数时它才会传输帧?(任务管理器USB带宽内存测试)

發布時間:2025/3/20 编程问答 49 豆豆

我猜想Intel Realsense D435攝像頭只要啟動pipeline.start()函數,就會開始傳輸幀,無論我們是否調用wait_for_frames()或者poll_for_frames()函數,它都會傳輸,但是我沒有辦法去驗證我的這個猜想,去咨詢官方客服人員,我也看不太懂她們給我的回復。。。

After running pipeline.start (), will the camera continuously transmit frames to my computer, or will the camera only transmit frames to my computer when I call wait_for_frames ()? #6100

一開始我想用USB流量監控工具來查看當前USB傳輸數據的速率:windows系統如何檢測USB實時傳輸數據的速率?,但貌似比較麻煩,我們是否能通過內存變化來判斷是否在啟動pipeline.start()后,攝像頭就會立即進行幀傳輸呢?

首先,我在一臺電腦上連接一個攝像頭,這是當前任務管理器上的內存顯示:


按照當前狀況編寫測試程序:

# 導包 import pyrealsense2 as rs import numpy as np import cv2 as cv import timectx = rs.context() cam_serials = [dev.get_info(rs.camera_info.serial_number) for dev in ctx.query_devices()] # print(cam_serials) # ['838212073249', '827312070790', '826212070395']for serial in cam_serials:locals()['pipeline' + serial] = rs.pipeline(ctx)locals()['config' + serial] = rs.config()locals()['config' + serial].enable_device(serial)locals()['pipeline' + serial].start(locals()['config' + serial])while True:for serial in cam_serials:locals()['frames' + serial] = locals()['pipeline' + serial].wait_for_frames()locals()['color_frame' + serial] = locals()['frames' + serial].get_color_frame()locals()['color_image' + serial] = np.asanyarray(locals()['color_frame' + serial].get_data())cv.imshow('{}'.format(serial), locals()['color_image' + serial])cv.waitKey(1)# time.sleep(10000)

按照攝像頭運行的不同情況記錄以下數據:

攝像頭數量pipeline.start()wait_for_frames()取幀延時是否顯示畫面內存/已提交備注
106.9插入攝像頭瞬間會上升至7.0
206.9
306.9
107.5
207.6
307.7
107.4
207.6
307.7
107.5
207.6
307.7
15000ms7.5
25000ms7.6
35000ms7.7
15000ms7.4
25000ms7.6
35000ms7.7

如果我們使用poll_for_frames()函數替代wait_for_frames()函數,數據基本與上面是一致的

是否說明,只要我們啟動pipeline.start()函數,攝像頭就開始源源不斷地向我們電腦傳輸幀,無論我們是否調用wait_for_frames()函數(或poll_for_frames()函數),它都會占用著我們的USB帶寬?

總結

以上是生活随笔為你收集整理的Intel Realsense D435 是否启动pipeline.start()就开始传输帧,还是只有我们调用wait_for_frames()函数时它才会传输帧?(任务管理器USB带宽内存测试)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。