使用BOOST :: UBLAS和FFTW一起进行图像处理

时间:2014-08-22 06:59:03

标签: c++ boost fftw

是否有可能在FFTW中使用增强矩阵?如果是这样你怎么做的? 我基本上拥有的是

QPixmap pixmap("lena.bmp");
// resize input image
pixmap = pixmap.copy(512,512,128,128);
pixmap = pixmap.scaled(128,128);
QImage image = pixmap.toImage();
QRgb col;

int g;
int width = pixmap.width();
int height = pixmap.height();
matrix<double> m(width,height);
for (int j = 0; j < m.size2(); j++)
{
    for (int i = 0; i < m.size1(); i++)
    {
        m(i,j) = 0;

        m(i,j) = qGray(image.pixel(i,j));

    }
}

我想在矩阵上执行FFTW&#39; m&#39;然后重新显示图像的fft。我该怎么做?

1 个答案:

答案 0 :(得分:0)

你可以做的是首先将你的图像读入一个数组,然后根据你的需要在这个数组上应用FFTW,然后将这个数组填充到一个boost ublas矩阵然后使用它。

int a[width][height];
for (int j = 0; j < width; j++)
{
    for (int i = 0; i < height; i++)
    {
    a[i][j] = qGray(image.pixel(i,j));

    }
}
//apply fftw

matrix<double> m(width,height);
for (int j = 0; j < width; j++)
{
    for (int i = 0; i < height; i++)
    {
    m(i,j) = fft_a[i][j];

    }
}

我希望这有效

相关问题