用Python从图像中提取Fourier描述符

Jac*_*son 6 opencv fft image-processing scikit-learn fourier-descriptors

我有一些带有形状的标签图像(圆形,矩形和空白).在使用中值模糊和Gabor滤镜处理图像后,我可以消除可变照明对图像的大部分影响,它们看起来像这样:

标签

我曾尝试使用HOG,LDA,PCA和像素本身训练SVM,但我几乎无法达到40-60%的准确率.我真正想要做的是使用图像形状的信息.我向我推荐了傅里叶描述符,虽然我找到了一个关于使用NumPy和OpenCV对图像应用傅立叶变换的好教程,但我不确定如何从图像中提取傅立叶描述符然后识别那些是独特的不同形状.有没有人知道如何做到这一点,或者可以推荐一种替代技术来从这些图像中获取特征,以便SVM区分它们?