各位先进大家好
小弟想请教两个问题
(一)MATLAB和ImageJ的FFT差别
图求方便我把input图
https://imgur.com/a/vegi0m2
用ImageJ做FFT得到绕射图
https://imgur.com/a/kr1h7RS
可是用MATLAB做FFT却得到不一样的图
G = fft2(input);
imshow(abs(fftshift(G)));
https://imgur.com/a/XSaQMEC
差好多....请求提点
(二)二维网格中产生矩形
按照MATLAB网站上的例子
直接画一个小圆点再用fft2就可以得到很漂亮的绕射图
https://ww2.mathworks.cn/help/matlab/math/two-dimensional-fft.html
https://imgur.com/a/IVm1F3D
https://imgur.com/a/k90smZm
code码如下:(PS.我发现第四行要多加一个-号才能得到图形>_<)
n = 2^10; % size of mask
M = zeros(n);
I = 1:n;
x = I-n/2; % mask x-coordinates
y = n/2-I; % mask y-coordinates
[X,Y] = meshgrid(x,y); % create 2-D mask grid
R = 10; % aperture radius
A = (X.^2 + Y.^2 <= R^2); % circular aperture of radius R
M(A) = 1; % set mask elements inside aperture to 1
imagesc(M) % plot mask
axis image
以上code第7.8行是用来产生小圆点
我本来想用rectangle来替换
可是rectangle只能产生矩形'框'
我想要产生实心的矩形图(类似下图的感觉)
https://imgur.com/a/oPyWL5s
求大家帮忙 谢谢