1

1 つのテレビ画面認識プロジェクトで、1 つの画像からテレビ画面を切り取る必要があります。

テレビ画面は実際には長方形です。しかし、電話のカメラからの画像では、テレビ画面の形が崩れているのは明らかです。私の質問は次のとおりです。

  1. 画像内の任意の 4 辺ポリジェン (長方形ではない) を検出する方法。
  2. 画像のポリジェン領域がわかったら、その領域をマットに取得する方法。
  3. クエスト2を解いた後、4面ポリゴンのマットをW/Hラジオ固定の長方形マットに変換する方法。

参照用のコード サンプルを提供すると非常に役立ちます。

あなたの答えに感謝します!

4

1 に答える 1

2

テレビ画面の端を検出したい場合は、境界検出 (Canny など) を使用してから、ハフ変換を使用して線を取得できます。

次に、線の交点に対応する点を抽出すると、ホモグラフィ行列 H (3x3) を作成できます。最後に、このホモグラフィを使用して、元の画像を参照フレーム (この場合は特定の縦横比の四角形) に "変形" できます。ホモグラフィは平面から平面への変換なので、まさにここで必要なものです。

OpenCV を使用する場合 (これは常に良い選択です!)、使用できる関数は次のとおりです。

  • Canny() - 画像のエッジを見つける

  • HoughLines() - 線を検出する

  • findHomography() - この関数は、一連の対応関係からホモグラフィ行列を見つけます。あなたの場合、メソッドを 0 として渡す必要があります。

  • warpPerspective() - 画像を参照フレームに「変形」するために使用する関数。

明らかに、MATLAB などで同様の関数を見つけることができます...

これがお役に立てば幸いです。

于 2012-08-15T16:28:21.967 に答える