作者ben6421463 (球球)
看板MATLAB
标题[绘图] 二维网格中绘制矩形
时间Wed Mar 20 15:46:00 2019
各位先进大家好
小弟想请教两个问题
(一)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
求大家帮忙 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.115.42.109
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MATLAB/M.1553067963.A.EBD.html
1F:推 smileghost12: 推 03/20 15:47
2F:→ name0625: 2可以用patch,1就不熟了帮不上忙 03/20 16:09
3F:推 benny30912: 改成A=(X>=-R&X<=R&Y>=-R&Y<=R); 03/20 16:46
4F:→ ben6421463: 谢谢b大 我试出来了 也谢谢n大 03/20 16:52