問題タブ [opticalflow]
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.
c++ - OpenCV のオプティカル フローとの接触時間
オブジェクトとの衝突までの残り時間 (フレーム) を計算するプログラムを C++ と OpenCV で作成しようとしています。サンプルビデオとして、カメラが黒板に向かって動いています。
これに対する私のアプローチは次のとおりです。
- 追跡する機能を検出します (goodFeaturesToTrack() を試すか、ポイントを「手動で」設定します)
- calcOpticalFlowPyrLK() を介してオプティカル フローを計算する
- findFundamentalMat() を介して、以前および現在見つかった機能の基礎行列を計算します
- 基本行列が正しいかどうかを確認します
- エピポーラ線とエピポールを計算する - ビデオの展開の焦点
最後に、time to contact メソッドを使用して、衝突までの残りのフレームを計算することを計画しました。
これまでの私の最大の問題は、正しい基礎行列、つまりエピポールを見つけることです。計算された行列は、エピポーラ線と同様に間違っているようです。私の計画したアプローチは正しいでしょうか?ビデオから FoE を取得する実際の例や、私がしなければならないことについてのウォークスルーを持っている人はいますか?
どんな助けでもとても嬉しいです!
ありがとうございました!
opencv - オプティカルフローは、ズームインとズームアウトに機能します
オプティカル フロー アルゴリズムをズームに使用できるかどうか疑問に思っていました。Web ページのズームインとズームアウトのクリップを含むビデオがあります。
opencv - calcOpticalFlow の出力特徴ベクトルを描画するときの不正確なトラッキング
簡単な機能追跡プログラムを開発しようとしています。ユーザーがマウスで画面上の領域の輪郭を描くと、この領域のマスクが作成され、goodFeaturesToTrack に渡されます。次に、関数によって検出された機能が画面に描画されます (青い円で表されます)。
次に、関数によって返された特徴ベクトルを calcOpticalFlowPyrLk に渡し、結果の点のベクトルを画面上に描画します (緑色の円で表されます)。プログラムは流れの方向を正しく追跡しますが、何らかの理由で、calcOpticalFlow 関数によって出力される特徴が画面上のオブジェクトの位置と一致しません。
私が使用したロジックの小さな間違いのように感じますが、分解できないようです。皆さんからの助けに本当に感謝しています.
以下に私のコードを掲載しました。グローバル変数と乱雑な構造について深くお詫び申し上げます。現時点ではテストを行っているところですが、実行したらすぐにクリーンアップして OOP 形式に変換する予定です。
同様に、これは、私が闘っている行動を示す、私がアップロードした YouTube ビデオへのリンクです。
c++ - calcOpticalFlowFarneback に基づく OpenCV ワーピング画像
高密度オプティカル フローを使用して、画像の複雑なワープを実行しようとしています。2 番目の画像を最初の画像とほぼ同じ形状にワープしようとしています。
2 つのグレースケール フレームからフローを計算します。関数を使用して、このフロー情報を使用して、元の (つまり、グレースケールではない) イメージを再マップしようとしていcv::remap
ます。しかし、私はそれから非常にひどく歪んだイメージを取得します。元の画像に少し似たオレンジと黒の画像になります。
cv::remap
計算されたを使用するにはどうすればよいflow
ですか?
opencv - OpenCV と処理によるカルマン フィルターを使用した顔追跡
私が作ろうとしている単純なゲームの顔追跡を実行しようとしています。プロセッシングでやっています。
OpenCV を使用して、Haar Cascades を使用した簡単な顔検出を行いました。ただし、時間の経過とともにスムーズに顔を追跡することに問題があります。また、傾いた顔も検出しません。
Google で検索した結果、顔の追跡をスムーズにするためにカルマン フィルターを実装する必要があることがわかりました。しかし、カルマンフィルターについて聞いたのはこれが初めてで、実装に苦労しています。
処理中の OpenCV にこのライブラリを使用しています: https://github.com/atduskgreg/opencv-processing
Processing または Java を使用してカルマン フィルターを実装する方法を誰かが教えてくれれば (このライブラリは Java API に基づいているため)、非常に役に立ちます。
これは、顔検出に使用しているコードです。これは、ライブラリのサンプル スケッチの 1 つです。
opencv - KLT は OpenCV でどのように機能しますか?
openCV の KLT の背後にあるロジックに興味があります。
私がこれまでに知っていることから、OpenCV でオプティカル フローを見つけるために送信された画像は、最初にグレースケールに変換されます。
私が興味を持っているのは、アルゴリズムを実行するときに、計算のための一連の機能が必要だということです。openCVでオプティカルフロー法を見つける際に使用される機能は何ですか?
ありがとうございました :)
c++ - OpencCV: calcOpticalFlowSF 関数
calcOpticalFlowSF() 関数を使用しようとしましたが、起動してもプログラムが応答しません。これを使用するコードの一部です。
エラーが関数 calcOpticalFlowSF から発生していることはわかっています。コメントすると、プログラムが機能するからです。SimpleFlow デモで使用するのと同じ写真を使用します。ここを見ると: cv::calcOpticalFlowSF を機能させるには? 機能自体には問題なかったようですが…
なぜうまくいかないのか考えていますか?
ありがとう、
よろしくお願いします。