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

Everything that you need is written here, including the definition of how to calculate your own moments. It's a trivial and sub-100 lines of code implementation. http://en.wikipedia.org/wiki/Image_moment

Of course, you only want to sum over pixels actually inside the contour, so PointPolygonTest will be of use to you.

于 2013-01-18T21:07:33.377 回答