我想根据形状将图像分为两类。为此,我使用了具有SVM分类的傅里叶描述符。我的问题是傅立叶描述符的长度取决于边界点的数量,因此各种图像的描述符的长度是不同的。但是为了训练SVM,我需要带有描述符的训练矩阵作为矩阵行(cv :: Mat)。我使用openCV在c ++中实现它。我该怎么办?我应该:
1.pad剩下的描述符到最长描述符的长度用零
2.仅从边界
其他建议我正确的方式。
答案 0 :(得分:3)
在这种情况下,最好的方法是从边界采样固定数量的点,以便输入向量的长度相等。填充是一个坏主意,因为这样做会隐式更改填充点和非填充点之间的距离定义。