c++ - 如何从 Cimg FFT 获取 FFT 值?
问题描述
我正在使用 Cimg 获取 (256 X 256) 图像的 FFT 值。但是图像的 FFT 值是复数值的 3 维数组,即 (256 X 256 X 3)。我使用 get_FFT() 图像的实部和虚部得到了两张图像。我还将这些值打印为 fft0 + j fft1。我不确定这是否是获取值的正确方法,但这仍然是 (256 X 256)。我们如何获得 FFT 的三维值?
#include "CImg.h"
using namespace cimg_library;
int main(int argc, char * argv[]) {
const char *input_file = "Lenna";
CImg<unsigned char> input(input_file);
CImgList<float> fft = input.get_FFT();
fft[0].save("fft[0].jpg");
fft[1].save("fft[1].jpg");
int w0 = fft[0].width();
printf("width of fft[0] %d \n",fft[0].width());
int h0 = fft[0].height();
printf("height of fft[0] %d \n",fft[0].height());
printf("Spectrum of fft[0] %d \n",fft[0].spectrum());
int count =1;
for(int x=0;y<w0;y++){
for(int y=0;x<h0;x++){
count+=1;
std::cout <<count <<","<< (int)fft[0](x,y) <<" "<< "+j"<< (int)fft[1](x,y)<<std::endl;
}
}
return 1;
}
解决方案
推荐阅读
- android - 有没有办法在华为应用内购买中订阅更改时获得回调?
- java - ThreadLocal 的 initialValue() 与 set()
- android - 替换已弃用的欧盟同意代码 android admob
- javascript - 无法使用 array.map() 填充选项元素以选择元素
- java - PDFBox 较新版本以混乱的顺序提取数据
- c++ - C++ 不会在 Netbeans 11.0 中安装
- postgresql - PostgreSQL Like 查询 jsonb 列数据
- asp.net - 我们如何将 Android 管理 API 集成到 asp.net 核心 API 中?
- pine-script - 如何使用 pine 代码在交易视图中使用 for 循环绘制圆圈
- python - python库可以使用c提高效率吗