2

「cvQueryFrame」を介して openCV を使用して投影パターンのカメラ画像をキャプチャすると、意図しないアーティファクト、つまりプロジェクターのスキャン ラインが発生することがよくあります。つまり、「cvQueryFrame」が画像をキャプチャするタイミングを正確に計ることができないため、撮影された画像はプロジェクタの一定の 30Hz リフレッシュを尊重しません。その結果、テレビ画面にビデオ カメラを向けた人にはよく知られている典型的な水平方向の帯ができます。

ハードウェア同期に頼る以外に、openCV でおおよその (「十分」などの) 非公式なプロジェクターとカメラの同期に成功した人はいますか?

以下は私が検討している 2 つの解決策ですが、これが十分に一般的な問題であり、洗練された解決策が存在することを望んでいました。私のエレガントではない考えは次のとおりです。

  • ビデオを表示する cvWindow にスライダー コントロールを追加して、ユーザーが 0 ~ 1/30 秒のタイミング オフセットを制御できるようにし、この間隔でキュー タイマーを設定します。フレームが必要なときはいつでも、'cvQueryFrame' を直接呼び出すのではなく、次のタイマー起動時に 'cvQueryFrame' を実行するコールバックを要求します。このように、理論的には、タイマーの分解能が十分であれば、ユーザーはスライダーを使用してスキャン ライン アーティファクトを減らすことができます。

  • 「cvQueryFrame」を介してフレームを受信した後、ピクセルの垂直列の HSV 値のデルタを探して、フレームの証拠となる水平バンドを調べます。当然、これは、被写体が滑らかに変化する照明の下で均一な色の基準ストリップを含む場合にのみ機能します。

私は OpenCV でいくつかのカメラを使用しましたが、最近では Canon SLR (7D) を使用しました。

4

2 に答える 2

1

これは同期とは何の関係もないことはわかっていますが、露光時間を延長してみましたか? それとも、意図的に 2 つ以上の画像を 1 つに "ブレンド" することでそうしていますか?

于 2011-05-01T06:01:25.100 に答える