【问题标题】:How to make the Fourier Descriptor result to be Insensitive?如何使傅里叶描述符结果不敏感?
【发布时间】:2015-02-16 15:02:52
【问题描述】:

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

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

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

% 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

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

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

【问题讨论】:

  • 注意傅里叶变换保留欧几里得距离...
  • @OliverCharlesworth 感谢您的回复。你说“傅立叶变换保留欧几里得距离”是什么意思?这个问题会导致我的错误吗?
  • 您说您正在尝试计算傅里叶域中的欧几里得距离。我的意思是,这个值在未转换的域中将是相同的。
  • @OliverCharlesworth 哦,我明白你的意思了。实际上,我只需要实现傅里叶描述符来描述图像中涉及 fft 的形状。如果您认为有更好的方法来比较形状,请随时告诉我。非常感谢你。 :D

标签: matlab image-processing fft shape fourier-descriptors


【解决方案1】:

我建议你阅读 “计算机视觉的特征提取和图像处理” 尼克松和阿瓜多。 你会在那里找到你要找的东西

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-06
    • 2010-10-11
    • 1970-01-01
    • 2011-11-03
    • 2020-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多