私はバイナリイメージを持ち、OpenCVで次のようにしたいと考えています:点が与えられたら、その点が属する接続されたコンポーネントの面積と周囲を測定します。OpenCV接続されたコンポーネントの境界と点指定
def areaAndPerimeter(point):
...do some stuff...
return area, perimeter
は、私は、各連結成分の境界及び領域を見つけるためにcv2.findContours()
を使用することができる知っているが、私は、入力された時点でその情報をペアリングする方法がわかりません。どの周辺と領域が接続されたコンポーネントに対応するのですpoint
あなたは 'connectedComponentsWithStats()'を行い、各色のすべての点を同じ色でラベル付けすると思います。したがって、自分のポイントに対応する色(つまりラベル)を見つけて、それが属するBLOBを見つけることができます。私は絶望的に間違っているかもしれません! Matlabでは 'bwlabel()'と呼ばれています。 –
ええ、私はちょうど古い '' connectedComponents() ''を使い、それぞれのコンポーネントを1ずつ抜き出し、 '' findContours() ''をそれぞれ別々に実行しているソリューションに取り掛かりました。私は '' findContours() ''を一度イメージ全体で実行し、接続されたコンポーネントをすべてスキップすることができました。 – mv3