下のような写真があります。画像内の円のグループ(それらの位置)を見つけたいと思います。次の例では、3つのグループが必要です。背景は白または白っぽい色になります。
(ソース画像にはそのような長方形はありません。グループがどのようにあるべきかを示すためにペイントしたばかりです)
それを見つけることは可能ですか?
そのような写真はどうですか?
長方形のない円:
下のような写真があります。画像内の円のグループ(それらの位置)を見つけたいと思います。次の例では、3つのグループが必要です。背景は白または白っぽい色になります。
(ソース画像にはそのような長方形はありません。グループがどのようにあるべきかを示すためにペイントしたばかりです)
それを見つけることは可能ですか?
そのような写真はどうですか?
長方形のない円:
を使用して円を識別してから、クラスタリング(K-MeansアルゴリズムHoughCircles
)を使用する必要があります。OpenCVにはK-Means実装があります。example1、example2、およびdocsを参照してください。
HoughCirclesは、パラメーターの1つとして、個別の円と見なされる前の可能な円間の距離を持っています。このパラメータを微調整し続けるだけです。円のグループが各グループの実際の円よりも離れている限り、HoughCirclesは各円を同じ「円」の一部としてカウントします。
ただし、サークルのグループが重複している場合、これは機能しません。どういうわけか、各グループを分離する必要があります。たぶん、グループ内のすべての円が(あなたの写真のように)一列に並んでいる場合、基本的なハフ線検出で線が得られます-次に、互いに接近している平行線をチェックでき、それらは各グループを示しますか?
1-画像を反転するだけで、
2-次に、すべての円が結合されるように画像を拡張します。
3-輪郭を見つけ、
4-バウンディングボックスを見つけます。
例: