Average value of an annulus in a square matrix
1 回表示 (過去 30 日間)
古いコメントを表示
I have a square matrix of values and I need to evaluate the average value of an annulus between coordinates r and r+dr and repeat this step from the center of the circle to its radius R. Finally, I want to plot the radial profile of the N values, where N is the number of annuli.
How could I do this in MATLAB? Thank you in advance.
0 件のコメント
採用された回答
Image Analyst
2016 年 5 月 6 日
編集済み: Image Analyst
2016 年 5 月 6 日
So then take your ringPixels, which you get from the snippet in the FAQ, and then use mean to get the average value of your matrix within the ring:
meanValue = mean(yourImage(ringPixels))
By the way, I've attached a related thing. The demo computes the average radial profile (from a point you select) in an image and plots it.
その他の回答 (1 件)
Jos (10584)
2016 年 5 月 6 日
R = 3 ;
M = magic(2*R+1) ;
dr = 1 ;
[ri,ci] = ndgrid(1:(2*R+1))
D = hypot(ri-R-1,ci-R-1)
for k=dr:dr:R
TF = D > (k-dr) & D <= k
tmp = M(TF)
Result(k) = mean(tmp)
end
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Surface and Mesh Plots についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!