0

我试图通过使用傅里叶描述符来区分 Matlab 中图像的形状。我想要做的是: 1.为每个图像生成傅里叶描述符;2. 计算这些傅里叶描述符之间的欧几里得距离以比较形状。

我的问题是我不能使计算傅里叶描述符的结果对几何变换不敏感(例如旋转和缩放)。

我现在使用的代码是“Gonzales matlab 版本”,这个链接中的那个。我试图通过这样做来规范化结果:

% Normalization
DC = f(1);
f = f(2:11); % getting the first 20 & deleting the dc component
f = abs(f) ; % use magnitudes to be invariant to translation & rotation
f = f/DC; % devide the fourier coeffients by the DC-coefficient to be invariant to scale

但我不认为它按我预期的那样工作。如果我改变同一图像的方向或比例,结果会有所不同。

我被这个问题困住了几天。我将不胜感激任何建议,提前谢谢大家!

4

1 回答 1

0

我建议您阅读 Nixon 和 Aguado 的“计算机视觉的特征提取和图像处理”。你会在那里找到你正在寻找的东西

于 2017-05-30T07:00:52.607 回答