Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 除了HuMoment?之外,还有其他形状属性缩放旋转不变?_Python_Image Processing_Opencv_Scikit Image - Fatal编程技术网

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模块。有一个寻找质心的函数。