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

Using BOOST::UBLAS and FFTW together for image processing

本文关键字:一起 图像处理 BOOST UBLAS 使用 FFTW      更新时间:2023-10-16

是否有可能沿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));
    }
}

我想对矩阵'm'执行FFTW,然后重新显示图像的fft。我该怎么做呢?

您可以做的是首先将图像读取到数组中,然后根据您对该数组的需求应用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];
    }
}

我希望这行得通