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

看板MATLAB作者 (球球)時間5年前 (2019/03/20 15:46), 編輯推噓2(202)
留言4則, 4人參與, 5年前最新討論串1/1
各位先進大家好 小弟想請教兩個問題 (一)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

03/20 15:47, 5年前 , 1F
03/20 15:47, 1F

03/20 16:09, 5年前 , 2F
2可以用patch,1就不熟了幫不上忙
03/20 16:09, 2F

03/20 16:46, 5年前 , 3F
改成A=(X>=-R&X<=R&Y>=-R&Y<=R);
03/20 16:46, 3F

03/20 16:52, 5年前 , 4F
謝謝b大 我試出來了 也謝謝n大
03/20 16:52, 4F
文章代碼(AID): #1SaU-xwz (MATLAB)
文章代碼(AID): #1SaU-xwz (MATLAB)