私は、単一のオブジェクトを色と輪郭で分離し、このオブジェクトのy位置を計算する画像処理チェーンに取り組んでいます。
OpenCVで輪郭または領域の中心を計算するにはどうすればよいですか?
Opencvリンク:
私は、単一のオブジェクトを色と輪郭で分離し、このオブジェクトのy位置を計算する画像処理チェーンに取り組んでいます。
OpenCVで輪郭または領域の中心を計算するにはどうすればよいですか?
Opencvリンク:
最初にMomentsを計算することで、y 方向の重心を取得できます。yc = M01 / M00
M01 と M00 は Moments 呼び出しによって返される構造体のフィールドです。
境界矩形の中心だけが必要な場合は、 BoundingRectを使用して簡単に行うことができます。これは CvRect を返し、高さの半分だけを取得できます。
これが十分に正確でない場合は教えてください。私はあなたのために掘り下げることができるサンプルコードをどこかに持っています.
OpenCVが何であるか正確にはわかりませんが、これをお勧めします:
選択されたピクセルのクラスターには、1 つのポイントで最大幅 (w) があるため、領域にピクセルの垂直列が w 個あるとします。ここで、列に含まれるピクセル数に応じて列に重みを付け、これらの列幅を使用して水平方向の中心点を決定します。
同じアルゴリズムは、X センターでも機能する可能性があります。