看板 MATLAB 關於我們 聯絡資訊
各位先進大家好 小弟想請教兩個問題 (一)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://www.ptt.cc/bbs/MATLAB/M.1553067963.A.EBD.html
smileghost12: 推 03/20 15:47
name0625: 2可以用patch,1就不熟了幫不上忙 03/20 16:09
benny30912: 改成A=(X>=-R&X<=R&Y>=-R&Y<=R); 03/20 16:46
ben6421463: 謝謝b大 我試出來了 也謝謝n大 03/20 16:52