c++ - 了解opencv中的Moments函数

标签 c++ opencv

在OpenCV中使用矩求中心坐标时,使用

Point(moment[i].m10/moment[i].m00,moment[i].m01/moment[i].m00);

有人可以给我解释一下吗?“m10”、“m00”、“m01”和“m00”是什么意思?

最佳答案

图像处理中矩的定义是从物理学中借用的。假设图像中的每个像素都具有等于其强度的权重。那么你定义的点就是图像的质心(也就是质心)。

假设 I(x,y) 是图像中像素 (x,y) 的强度。然后 m(i,j) 是所有可能的 x 和 y 的总和:I(x,y) * (x^i) * (y^j)。

Here您可以阅读 OpenCV 中使用的矩的文档。它们被称为原始时刻。

here您可以阅读有关各种图像矩(原始矩、中心矩、缩放/旋转不变矩等)的维基文章。这本书非常好,我推荐阅读。

关于c++ - 了解opencv中的Moments函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22470902/

相关文章:

c++ - MS-MPI 的 Visual Studio 2013 配置

python - 如何使用 Opencv 和 Python 检测图像中的白色区域?

c++ - "undefined reference"到模板类函数

c++ - 内存博士 : are these lines really causing of memory leaks?

c++ - 了解用户自定义函数

c++ - Qt 类型作为函数的参数

c++ - OpenCV - 去除凸性缺陷(Python 到 C++)

python - 如何在 OpenCV 中获取图像的宽度和高度?

python - 在 Python 中将 3D 32 位 float 组保存为 48 位整数 PNG 以匹配 Kitti Ground Truth 格式

opencv - 使用 CUFFT 的实数到复数 FFT,使用 OpenCV 作为数据源