我试图通过使用傅立叶描述符来区分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
但我认为它没有像我预期的那样奏效。如果我改变同一图像的方向或比例,结果会有所不同。
我被这个问题困住了几天。我将不胜感激任何建议,谢谢大家!
答案 0 :(得分:0)
我建议你阅读 “计算机视觉的特征提取与图像处理” 尼克松和阿瓜多。 你会找到你想要的东西