Qt中的基本图像处理,如何将图像分解为数组,准备对其执行傅里叶变换

Basic image processing in Qt, how do I break up an image into an array, ready to perform a Fourier transform on it?

本文关键字:数组 变换 傅里叶 执行 分解 图像 图像处理 Qt      更新时间:2023-10-16

我正在尝试使用Qt进行一些非常基本但非常酷的图像处理(我必须使用Qt,不允许使用Matlab)。我需要加载一张黑白图像(已经完成),然后对其执行傅里叶变换,然后显示该图像。我正在研究的下一步是过滤掉一些高频,反向变换,看看结果是什么样的。

我假设这样做的起点是将图像分解为空间域中的离散值数组。

有没有人在做我所描述的事情方面有任何经验?你们同意阵列方法吗?我需要一个花哨的库,还是要归结为一种数字方法,其中有各种循环来转换每个像素?

我在Qt中有点菜鸟,所以你可以保持简单会很棒。

只需将图片加载到 QImage 对象中即可。使用像素方法,您将在位置 x,y 处获得 RGB 中的像素值。使用 qGray(int r, int g, int b) 将得到灰色值 (0-255)。对于FFT,只需查看数字配方。

参考此链接

https://codereview.stackexchange.com/questions/20529/slicing-up-an-image-into-rows-and-columns-in-java

您只需将图像位置更改为

GridImage image = new GridImage("img/card-grid-image-mass-effect.jpg",4, 15);

更改文件名 。 然后复制并执行代码