WeightedNormalizedMoments、WeightedHuMoments 和 HuMoments 之间有什么区别?(http://scikit-image.org/docs/0.6/api/skimage.measure.html)
除了 HuMoment 之外,还有其他形状属性尺度旋转不变吗?有例子告诉我如何实现它们?我在 c++ OpenCV(C) 中找到了这个例子:从轮廓计算矩,但我更喜欢在 python 中工作
WeightedNormalizedMoments、WeightedHuMoments 和 HuMoments 之间有什么区别?(http://scikit-image.org/docs/0.6/api/skimage.measure.html)
除了 HuMoment 之外,还有其他形状属性尺度旋转不变吗?有例子告诉我如何实现它们?我在 c++ OpenCV(C) 中找到了这个例子:从轮廓计算矩,但我更喜欢在 python 中工作
时刻总是在局部图像特征上计算/求和,首先需要对其进行分割和标记。以下公式适用于加权和非加权情况:
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
函数中的链接引用。
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.