use*_*658 3 java fft feature-detection
我正在尝试使用傅立叶描述符构建一个简单的系统来识别简单的形状:我在我的程序中使用快速傅立叶变换的实现:(链接如下)
http://www.wikijava.org/wiki/The_Fast_Fourier_Transform_in_Java_%28part_1%29
fft(double[] inputReal, double[] inputImag, boolean direction)
Run Code Online (Sandbox Code Playgroud)
输入是:实部和图像部分(它本质上是边界参数的x,y坐标),输出是变换的实数和图像数.
问题:我如何使用输出(变换后的真实,图像)作为我简单形状的不变描述符?
这就是我的想法:
R = sqrt( real^2 + imag^2 )每N步. R除以R[1]=归一化因子使其不变.问题是我对于稍微不同的图像(例如应用了轻微的旋转等)获得了非常不同的R值
换句话说:
我的描述符不是不变的......我认为我在获取R值时出错了.
有一些理论需要首先了解傅立叶描述符:这是一种非常有趣的技术,但应该正确设计.你想要的是不变性; 旋转,平移,甚至仿射变换的不变性.为了与其他傅里叶描述符集进行良好比较,您应该考虑以下事项:
希望这可以帮助.顺便说一句,用户自己制作的FFT解决方案在我看来并不值得信任.寻找解决方案库.如果使用图像,OpenCV提供傅里叶变换实用程序.
| 归档时间: |
|
| 查看次数: |
5685 次 |
| 最近记录: |