[繪圖] 二維網格中繪製矩形

作者: ben6421463 (球球)   2019-03-20 15:46:00
各位先進大家好
小弟想請教兩個問題
(一)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
求大家幫忙 謝謝
作者: smileghost12   2019-03-20 15:47:00
作者: name0625 (lawpy)   2019-03-20 16:09:00
2可以用patch,1就不熟了幫不上忙
作者: benny30912   2019-03-20 16:46:00
改成A=(X>=-R&X<=R&Y>=-R&Y<=R);
作者: ben6421463 (球球)   2019-03-20 16:52:00
謝謝b大 我試出來了 也謝謝n大

Links booklink

Contact Us: admin [ a t ] ucptt.com