gpt4 book ai didi

c++ - 使用 CIMg 和 C++ 进行傅里叶滤波

转载 作者:搜寻专家 更新时间:2023-10-31 01:42:26 24 4
gpt4 key购买 nike

我需要实现一个非常简单的滤波器来抑制一系列频率。然后我需要计算傅里叶逆变换并保存新图像。

我正在使用 CImg 库 ( C++ )。到目前为止我已经做了:

const CImg<unsigned char> img(source_img);
CImgList<> F = img.get_FFT();

我被困在这里了。F 是两个 CImg 对象的列表,实部和虚部,对吗?

有了这个 F 如何抑制频率并重建新图像?

附言这是作业,所以我不想要解决方案,而是要解释该怎么做,怎么做以及为什么。

最佳答案

既然是家庭作业,请随意尝试。

您需要开始工作的第一步是直接将图像转换回来,并获得原始输入。如果这不起作用,您会很乐意早点捕获它。

第二步是将 FFT 的某些部分归零,将结果转换回来,看看有何不同。 FFT 中的每个像素代表输入中的一个频率,因此通过实验找出关系。然后向你自己解释这种关系。

最后,一旦您确定了哪些像素要归零以及哪些要保留,创建一个黑白蒙版,将其转换为灰度图像,然后对其进行模糊处理。 FFT 域中的锐边在图像域中具有无限支持 - 实际上,这会导致额外的伪边。最好有一个模糊的边缘。

关于c++ - 使用 CIMg 和 C++ 进行傅里叶滤波,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26842277/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com