問題タブ [vision]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
18560 参照

opencv - 距離(視差)を計算する OpenCV

-- 更新 2 --

次の記事は、単一のカメラを使用して距離を計算する場合に非常に役立ちます (ただし、C++ ではなく Python を使用しています): Python と OpenCV を使用してカメラからオブジェクト/マーカーまでの距離を見つける

最適なリンクStereo Webcam Depth Detectionです。このオープンソース プロジェクトの実装は非常に明確です。

以下、元の質問です。


私のプロジェクトでは、2 台のカメラ (ステレオ ビジョン) を使用してオブジェクトを追跡し、距離を計算しています。それらを OpenCV のサンプルコードでキャリブレーションし、視差マップを生成しました。

色に基づいてオブジェクトを追跡する方法を既に実装しました (これにより、しきい値の画像が生成されます)。

私の質問:視差マップ/マトリックスを使用して、追跡された色付きのオブジェクトまでの距離を計算するにはどうすればよいですか?

以下に、各ピクセルの x、y、z 座標を取得するコード スニペットを示します。質問: Point.z は cm、ピクセル、mm ですか?

このコードで追跡対象までの距離を取得できますか?

前もって感謝します!

--更新 1 --

たとえば、このしきい値処理された画像 (左側のカメラ) を生成しました。私は右のカメラとほぼ同じものを持っています。

ここに画像の説明を入力

上記のしきい値の画像に加えて、アプリケーションは視差マップを生成します。視差マップで手のピクセルの Z 座標を取得するにはどうすればよいですか?

実際には、手のピクセルのすべての Z 座標を取得して、平均 Z 値 (距離) を計算したいと考えています (視差マップを使用)。

0 投票する
1 に答える
21094 参照

python - Opencv cv2.absdiff(img1, img2).sum() 一時的な img なし

一時的な img なしで cv2.absdiff(img1, img2).sum() を計算することは可能ですか?

ビデオ ストリームがあり、処理の開始時にある種の画像安定化が必要です。absdiff は、次の 2 つの画像を使用して異なる配置ベクトルをチェックすると、高速でエラーに依存する結果を返しますが、img.sum() の計算にのみ使用される一時画像を作成、書き込み、読み取る必要があります。したがって、これらのメモリ割り当て、書き込み、読み取りの手順を省略しても問題ありません。

Pythonでの解決策

私のラップトップと同じように、非常に安定した比率で大幅な速度向上
が 得 られ ます