インテルRealsenseのD435はpipeline.startを開始するかどうか()フレームの送信を開始する、または唯一の我々はwait_for_framesは、フレームを転送する時期()関数を呼び出しますか?(タスクマネージャUSBの帯域幅のメモリテスト)

私たちはwait_for_frames()またはpoll_for_frames()関数を呼び出すかどうか、送信フレームを開始します、それは転送されますが、私は、この私の推測を検証する方法がない、行くために、インテルRealsense D435カメラを推測するだけでpipeline.start()関数を起動します諮問公式の顧客サービス、私は本当に彼らが私に返事を与えて理解していません。
ここに画像を挿入説明
pipeline.startを()を実行した後、しますカメラが連続して自分のコンピュータにフレームを送信し、またはカメラが唯一の私がwait_for_frames()を呼び出して自分のコンピュータにフレームを送信します?6100#を

最初は私はUSBデータ伝送の現在のレートを表示するためのツールを監視し、使用するUSBトラフィックに希望:WindowsシステムがUSBのリアルタイムなデータ転送速度を検出するために、どのように?しかし、あまりにも多くの問題のように見える、我々はメモリ(pipeline.startを開始した後に変更するかどうかを判断することができる場合)、カメラはすぐにフレームにそれを送信するのでしょうか?

まず第一に、私はコンピュータにカメラを接続し、これが現在のタスクマネージャショーのメモリは、次のとおりです。

ここに画像を挿入説明
現在の状況に応じて、試験手順の調製:

# 导包
import pyrealsense2 as rs
import numpy as np
import cv2 as cv
import time

ctx = 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() フレーミング遅延 表示画面かどうか メモリ/提出 リマーク
1 ノー ノー 0 ノー 6.9 7.0に上昇瞬時にカメラを挿入します
2 ノー ノー 0 ノー 6.9
3 ノー ノー 0 ノー 6.9
1 それはあります ノー 0 ノー 7.5
2 それはあります ノー 0 ノー 7.6
3 それはあります ノー 0 ノー 7.7
1 それはあります それはあります 0 ノー 7.4
2 それはあります それはあります 0 ノー 7.6
3 それはあります それはあります 0 ノー 7.7
1 それはあります それはあります 0 それはあります 7.5
2 それはあります それはあります 0 それはあります 7.6
3 それはあります それはあります 0 それはあります 7.7
1 それはあります それはあります 5000ms ノー 7.5
2 それはあります それはあります 5000ms ノー 7.6
3 それはあります それはあります 5000ms ノー 7.7
1 それはあります それはあります 5000ms それはあります 7.4
2 それはあります それはあります 5000ms それはあります 7.6
3 それはあります それはあります 5000ms それはあります 7.7

我々はpoll_for_frames()関数を使用する場合代わりに()関数をwait_for_frames、データは、実質的に上記と一致しています

それは限り、私たちはpipeline.start()関数を起動して、意味は、カメラ缶我々はwait_for_frames()関数(またはpoll_for_framesを()関数)、それは私達のUSBの帯域幅を占有します呼び出すかどうか、私たちのコンピュータの送信フレームにストリーミングを開始しましたか?

公開された958元の記事 ウォン称賛68 ビュー220 000 +

おすすめ

転載: blog.csdn.net/Dontla/article/details/105009902