OpenCV C /Obj-C: 紙のシートの検出/正方形の検出
画像内の正方形の検出は、発生する一般的なタスクです。さまざまな画像処理アプリケーションで使用されます。 OpenCV では、find_squares() 関数は、画像内の正方形を識別するための堅牢なアプローチを提供します。
find_squares() 関数は、入力画像内の各カラー チャネル (青、緑、赤) を繰り返し検査することによって動作します。各チャンネル:
-
画像のぼかし: 入力画像は、エッジ検出を強化するためにメディアン フィルターを使用して最初にぼかされます。
-
しきい値: 複数のしきい値レベルを適用してバイナリ イメージを作成し、可視性を高めます。
-
輪郭検出: バイナリ イメージ内の輪郭を識別するために、Canny エッジ検出が使用されます。
-
輪郭近似: 検出された輪郭は近似されます。 Douglas-Peucker アルゴリズムを使用して、
-
正方形の選択: 次に、近似された輪郭がテストされて、正方形であるための基準を満たしているかどうかが判断されます。これには、4 つの辺があること、凸形状であること、定義されたしきい値を超える面積などの基準が含まれます。
-
コサイン角テスト: 検出をさらに改良するために、コサイン角テストが実行されます。長方形や正方形に似ていない輪郭を削除します。最大コサイン値が低い等高線のみが潜在的な正方形とみなされます。
-
出力: この関数は、識別された正方形を含むベクトルを返します。各正方形は点のリストとして表されます。
これらの手順に従うことで、find_squares() 関数は画像内の正方形を効果的に検出できます。結果の出力は、文書処理やオブジェクト認識などのさらなる処理タスクに使用できます。
以上がOpenCV の find_squares() 関数はどのように画像内の正方形を検出しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。