0

WeightedNormalizedMoments、WeightedHuMoments、HuMoments の違いはどれですか? ( http://scikit-image.org/docs/0.6/api/skimage.measure.html )

HuMoment 以外にスケール回転不変の他の形状プロパティがありますか? それらをどのように実装できるかを示す例がありますか? この例は c++ OpenCV(C) で見つかります: 輪郭からモーメントを計算しますが、Python で作業することを好みます

4

2 に答える 2

2

モーメントは、最初にセグメント化してラベル付けする必要があるローカル イメージ フィーチャに対して常に計算/合計されます。次の式は、重み付けされている場合と重み付けされていない場合に有効です。

m_ji = sum{ array(x, y) * x^j * y^i }

scikit-image の加重モーメントと非加重モーメントの実際の違い (および一般的な違い) は次のとおりです。

non-weighted:  array(x, y) is a binary image
weighted:      array(x, y) is a grey-level image (each point/pixel is weighted by its grey-level)

これらの瞬間は、翻訳不変です。スケール不変にするには、次の式で正規化する必要があります。

nu_ji = mu_ji / m_00^[(i+j)/2 + 1]

不変性は、幾何学的変換の観点から意味されます。

モーメントとそのアプリケーションの詳細については、skimage.measure.regionprops関数内のリンクされた参照を参照することもできます。

于 2013-02-22T07:10:18.823 に答える
0

自分のモーメントを計算する方法の定義など、必要なものはすべてここに書かれています。これは、100 行未満の簡単なコード実装です。 http://en.wikipedia.org/wiki/Image_moment

もちろん、実際には輪郭の内側にあるピクセルのみを合計したいので、 PointPolygonTest が役に立ちます。

于 2013-01-18T21:07:33.377 に答える