使用C++、opencv获取轮廓的傅里叶描述子
傅里叶描述子是一种图像特征,具体来说,是一个用来描述轮廓的特征参数。其基本思想是用物体边界信息的傅里叶变换作为形状特征,将轮廓特征从空间域变换到频域内,,提取频域信息作为图像的特征向量。即用一个向量代表一个轮廓,将轮廓数字化,从而能更好地区分不同的轮廓,进而达到识别物体的目的。
关于傅里叶描述子的概述可参考论文(http://www.doc88.com/p-7176387138708.html)的2.3节。
在冈萨雷斯的《数字图象处理》一书中介绍了傅里叶描述子的详细原理:


总结:傅立叶描述子可以很好地描述轮廓特征,并且只需少量的描述子(即向量中的数不需要太多)即可大致代表整个轮廓。其次,对傅立叶描述字进行简单的归一化操作后,即可使描述子具有平移、旋转、尺度不变性,即不受轮廓在图像中的位置、角度及轮廓的缩放等影响,是一个鲁棒性较好的图像特征。
注:代码适用于物体已大致分割出来,并且图像中只存在1个目标物体的情况,其他情况需要视需求改代码。
#include "stdafx.h"
#include <opencv2/opencv.hpp>
#include <

最低0.47元/天 解锁文章
2429





