计算点对称性的算法

标签 algorithm 2d symmetry

给定一组二维点,我想计算这些点的水平对称和垂直对称程度。

或者,对于每组点,我还会有这些点之间的线的栅格化图像,那么有什么方法可以计算图像的对称性度量吗?

顺便说一句,这是用于将呈现给神经网络的特征向量。

澄清

左边的图像是“水平”对称的。如果我们想象一条垂直线从中间向下延伸,那么左右部分是对称的。同样,右侧的图像是“垂直”对称的,如果您想象一条水平线穿过它的中心。

我想要的是衡量它们在水平方向上的对称程度,以及另一个衡量它们在垂直方向上的对称程度。

enter image description here enter image description here

最佳答案

这只是一个指南/想法,您需要制定详细信息:

要检测关于水平反射的对称性:

  1. 水平反射(reflect)图像
  2. 在两边水平填充原始(未反射)图像
  3. 计算填充图像和反射图像的相关性

相关结果中最大值的位置将为您提供对称轴的位置。如果您先进行适当的归一化,最大值将为您提供对称性度量。

这仅在您的图像“足够对称”时才有效,并且仅适用于图像,不适用于点集。但您也可以从一组点创建图像。

关于计算点对称性的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7414057/

相关文章:

java - 在java中链接两个椭圆

algorithm - 自相交多边形的面积

python - 用轴对称值填充 Numpy 数组

machine-learning - 在 Keras 中强制对称

javascript - 如何在第二个下划线后剪切字符串?

algorithm - 中间的数字比邻居多

python - 如何计算二维列表或字典列表?

javascript - 如何获取一个数在矩阵中的位置?

algorithm - 后向链接算法如何在一阶逻辑中工作?