特定の曲率を持つ画像内のエッジを見つけようとしています。エッジの明るい側が凸面である必要があります。
エッジ自体はソーベルやキャニーで問題ないのですが、曲率の確認方法がわかりません。
いくつかの例: 赤い境界線ではなく、緑の境界線を見つけたい
------>
------>
特定の曲率を持つ画像内のエッジを見つけようとしています。エッジの明るい側が凸面である必要があります。
エッジ自体はソーベルやキャニーで問題ないのですが、曲率の確認方法がわかりません。
いくつかの例: 赤い境界線ではなく、緑の境界線を見つけたい
------>
------>
私があなたの要件を正しく理解していれば、曲線状で、凸面でダイアグラムの明るい領域を「囲む」エッジを見つけたいですか?
私はあなたの要件を次のように翻訳します:
曲線上の 2 点間に描かれた直線が完全にダイアグラムの明るい領域内にある場合、曲線は受け入れられます。
これはかなり簡単に実装できるはずです。曲線が多くの点で構成されている場合、各点のペア間のすべての直線をチェックするのは非常に面倒ですが、十分な数の直線をチェックするだけで十分です。
しかし、自分にとって何が十分かを定義する必要があります。
OPがコメントしたように、曲線に要件を満たすセグメントと満たさないセグメントが含まれ、それらが準拠曲線と非準拠曲線に分離される場合、このアプローチは適応可能であるはずですが、処理はわかります凸性をチェックするために使用される行数が大きくなると、非常に面倒になります。
If you extract the geometry of the edge as an ordered sequence of points you can identify which sections of the sequence you want by considering 3 successive points A-B-C. If C lies on the same side of the line A-B as the lighter region, then A-B-C are part of the desired curve, and you can go on to consider B-C-D, and so on until you either find that C is on the wrong side of A-B or you arrive back at the start of the sequence.
This will avoid the false-negative problem with High Performance Mark's solution where the test line segments encounter a dark region not connected with the current curve.