Python 除了HuMoment?之外,还有其他形状属性缩放旋转不变?
加权归一化矩、加权休谟矩和休谟矩之间的区别是什么?()Python 除了HuMoment?之外,还有其他形状属性缩放旋转不变?,python,image-processing,opencv,scikit-image,Python,Image Processing,Opencv,Scikit Image,加权归一化矩、加权休谟矩和休谟矩之间的区别是什么?() 除了HuMoment?之外,还有其他形状属性缩放旋转不变?有一些例子向我展示了如何实现它们?我在C++中找到这个例子,但是我更喜欢用Python < /P> < P>你所需要的一切都在这里写成,包括如何计算自己的时刻的定义。这是一个微不足道的、不到100行的代码实现。 当然,您只想在轮廓内的实际像素上求和,因此PointPolyContest将对您有用。时刻总是在局部图像特征上计算/求和,首先需要对局部图像特征进行分割和标记。以下公式适用
除了HuMoment?之外,还有其他形状属性缩放旋转不变?有一些例子向我展示了如何实现它们?我在C++中找到这个例子,但是我更喜欢用Python < /P> < P>你所需要的一切都在这里写成,包括如何计算自己的时刻的定义。这是一个微不足道的、不到100行的代码实现。
当然,您只想在轮廓内的实际像素上求和,因此PointPolyContest将对您有用。时刻总是在局部图像特征上计算/求和,首先需要对局部图像特征进行分割和标记。以下公式适用于加权和非加权情况:
m_ji = sum{ array(x, y) * x^j * y^i }
scikit图像(和一般图像)中加权和非加权力矩之间的实际差异如下:
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
函数中的链接引用。有一个非常简单的描述符,它对所有事物都是不变的:连接组件的数量;问题解决了吗?但这本身并不是一个好的描述,所以也许你想要比这更好的东西?傅里叶描述子可以很容易地对尺度和旋转保持不变,现在问题解决了吗?你的问题之一是它实际上包含多个问题,选择其中一个作为你的问题。我没有得到很好的解释,在这里我发现这3个不同的时刻:加权归一化矩、加权休谟矩和休谟矩。维基百科上只有数学公式。如何使用:skimage.measure.regionprops(label_image,properties=['huMoments')?labelimage是图像的名称?和加权的Humoments,为什么应该加权?我在这里找到cv2模块。有一个寻找质心的函数。