给定一组二维点,我想计算这些点的水平对称和垂直对称程度。
或者,对于每组点,我还会有这些点之间的线的栅格化图像,那么有什么方法可以计算图像的对称性度量吗?
顺便说一句,这是用于将呈现给神经网络的特征向量。
澄清
左边的图像是“水平”对称的。如果我们想象一条垂直线从中间向下延伸,那么左右部分是对称的。同样,右侧的图像是“垂直”对称的,如果您想象一条水平线穿过它的中心。
我想要的是衡量它们在水平方向上的对称程度,以及另一个衡量它们在垂直方向上的对称程度。
最佳答案
这只是一个指南/想法,您需要制定详细信息:
要检测关于水平反射的对称性:
- 水平反射(reflect)图像
- 在两边水平填充原始(未反射)图像
- 计算填充图像和反射图像的相关性
相关结果中最大值的位置将为您提供对称轴的位置。如果您先进行适当的归一化,最大值将为您提供对称性度量。
这仅在您的图像“足够对称”时才有效,并且仅适用于图像,不适用于点集。但您也可以从一组点创建图像。
关于计算点对称性的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7414057/