我有一个100 x 100的图像和5x5的内核,我想将此内核应用于该图像
1-我在图像上添加边框(5-1)/ 2并进行图像的DFT
2-我创建了另一个与图像大小相同的矩阵,并用0填充。然后将原始内核放在这个新矩阵的左上角,我现在将其称为过滤器
3-然后对过滤器执行相同的操作
现在,我有了图像和滤镜的虚部和实部。我将它们乘以如下
for i to 102
for j to 102
{
newReal = realImage * realKernel - imaginaryImage * imaginaryKernel
newImaginary = realImage * imaginaryKernel + imaginaryImage * realKernel
}
and do InverseFourierTransform(newReal, newImaginary)
4-然后它会产生几乎是黑色的结果,我认为这是因为此填充操作使用0s。
如果我不应用过滤器,而仅使用dft和inverseDftmy代码即可。我在这里想念什么?