私はOpenCVを使用してユーザ補助エッジ検出を実装しようとしています。ベクトルを画像内のエッジと関連付ける
多角形を見つける必要のある画像があるとします。議論のために、画像内で矩形のテーブルの上部を見つける必要があるとしましょう。ユーザーがテーブルの四隅をクリックすると、物を狭めるのに役立ちます。これら4つの点を結ぶことで、ポリゴンまたは4つのベクトルが得られます。 しかし、これらのコーナーをクリックすると、ユーザーの正確さが低下します。だから私は、画像のエッジ情報を使って精度を上げたいと思っています。
私は、イメージの重要なエッジを判断するためにかなり高いしきい値を持つCannyエッジ検出器を使用しています。 (より正確には、私は縮小、ぼかし、グレースケールに変換してから、Cannyを実行します)。ベクトルが画像のエッジと整列するかどうかをどのように計算できますか?私が「アラインメント」を計算する方法があれば、私のオーバーオールアルゴリズムは、4つのエッジポイントの位置を乱して、ポリゴンとイメージのエッジの合計「アライメント」を計算し、最適を見つけるまで下がります。
この「調整」メトリックを定義して計算するには、どのような方法が良いですか?
残念ながら、FindContoursは自分の画像ではあまり良い結果を得ていません。結果として生じる形状は、不規則な(すなわち、すばらしい矩形ではない)ことが多いので、ユーザ入力を使用して最良のものを選択するだけではそれをカットすることはできない。しかし、チップをありがとう。 – Niels