フレーム数の取得
このチュートリアルでは、ion-kitを使用してカメラからフレーム数を取得する方法について学びます。
前提条件
- OpenCV(sensing-dev SDKと一緒に
-InstallOpenCV
オプションでインストール) - ion-kit(sensing-dev SDKと一緒にインストール)
チュートリアル
パイプラインの設定プロセスは、前のチュートリアルとまったく同じです。ただし、フレーム数をBBから取得するために追加の出力ポートとバッファを設定する必要があります。
フレーム数の取得
画像を表示している間に、フレーム数情報も取得したいと思います。前のチュートリアルとの唯一の違いは、フレーム数の値を新しいポートにバインドする必要があることです。
std::vector<Halide::Buffer<uint32_t>> fc;
for (int i = 0; i < num_device; ++i){
fc.push_back(Halide::Buffer<uint32_t>(1));
}
n["frame_count"].bind(fc);
パイプラインの実行
builder.run()
を実行してパイプラインを完了します。
フレームカウントディレクトリは、numpy配列frame_counts[i]
にi番目のデバイスのフレームカウントを格納するので、各フレームカウントは次のように出力できます。
std::cout << fc[i](0) << " " << std::endl;
備考
最新のSDKのAPIでは、出力の framecount
は、デバイスの数に対応する長さの配列として返されます。各要素はHalide Bufferで、[0]にframecount
が格納されています。一方、バージョン24.01.04では、framecount
の出力はデバイスの数に等しい長さの単一のHalide Bufferとして返されます。
完全なコード
このチュートリアルで使用される完全なコードはこちらです。
動かない時は
- もしお使いのOpenCVがSensing-Devインストール時に
-InstallOpenCV
オプションをつけてインストールしたものでない場合、プログラムに正しくリンクされているかを確認してください。