gpt4 book ai didi

image - 傅里叶和零填充

转载 作者:太空宇宙 更新时间:2023-11-03 20:05:14 25 4
gpt4 key购买 nike

我正在使用 mask 和离散傅立叶变换过滤图像,直到现在我有了这个

A=double(imread('C:\Users\samsung\Documents\Lab Imagenes\CHE.jpg','jpg'));
B=[1 4 6 4 1; 4 16 24 16 4; 6 24 36 24 6; 4 16 24 16 4; 1 4 6 4 1];
F=(1/256).*(B);
DFT_A=fftshift(fft2(A));
imshow(DFT_A);
DFT_A_F=DFT_A.*F;
figure
imshow(DFT_A_F)

但是当我想看到部分结果时我得到了这个错误

??? Error using ==> times
Matrix dimensions must agree.

Error in ==> fourier1 at 10
DFT_A_F=DFT_A.*F;

我知道我需要对掩码进行零填充,但我不知道该怎么做,我需要帮助谢谢!

最佳答案

你想要的叫做 'padarray' ,就在你定义 DFT_A 之后:

padsize= [round(0.5*size(DFT_A,1)-0.5*size(F,1)) round(0.5*size(DFT_A,2)-0.5*size(F,2))];
F = padarray(F, padsize);
DFT_A_F=DFT_A.*F;
...

但是你为什么不直接(假设 A 是一个二维矩阵,所以如果需要的话,它会变成 rgb2gray):

DFT_A_F = conv2(A,B,'same');

速度更快,因为您不需要将所有这些零相乘,并且应该得到相同的结果。

关于image - 傅里叶和零填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12946955/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com