Tag: fft

Java的图像比较技术

我正在寻找几种方法来比较两个图像,看看它们有多相似。 目前我计划将百分比作为“相似性指数”的最终结果。 我的计划大纲是这样的: 用户选择2个图像进行比较。 使用按钮,可以使用多种不同的方法比较图像。 最后,每个方法旁边都有一个百分比,表示图像基于该方法的相似程度。 我最近做了很多阅读,我读过的一些东西似乎非常复杂和先进,而不是像我这样只有大约一年的Java经验的人。 到目前为止,我读过: 傅立叶变换 – 我发现这在Java中实现相当混乱,但显然Java Advanced Imaging API有一个类。 虽然我不确定如何将输出转换为实际结果 SIFT算法 – 看起来非常复杂 直方图 – 可能是迄今为止最简单的直方图 像素抓取 – 似乎可行,但如果两个图像之间有相当大的变化,它看起来不会产生任何类型的准确结果。 我可能错了? 我还想先使用Sobel滤波器预处理图像,然后进行比较。 问题是实际的比较部分。 所以,是的,我想看看是否有人有想法比较Java中的图像。 希望以前有人在这里做过类似的项目。 我只想获得一些关于可行的比较技术的输入,这些技术在Java中难以实现。 提前致谢

FFT图像转换的输入和输出应该是什么?

我尝试使用Java中的FFT Cooley-Tukey算法获得灰度图像的光谱。 我不知道如何形成算法的输入以及输出中用于形成光谱图像的值。 目前我的输入是一个复数数组,其中Re = 8bit灰度域中像素的值,Im = 0; 在运行算法之后,我获得了另一个复数数组,其中实部具有很多值,在[0,255]范围和虚部0之外。我试图从模数为256的实数数组创建一个图像。 这是频谱的外观: 这就是我所拥有的: 显然,我做了一件可怕的错事,但我不知道是什么。

利用Java中的FFT算法进行音频频谱分析

我想用Java(ME)分析音频文件的频谱。 我想像一些媒体播放器那样绘制频谱。 但我不明白一些观点: FFT算法的输入,我必须从音频文件中获取。 我现在不知道它叫什么,它是什么,更重要的是,我不知道如何得到它。 输出:如果输入是一个数组(范围?),我获得了其他数组,它的范围是:0-1,右(或不)? 那我和它有什么关系呢?