Re: [問題] 取矩陣內位置滿足特定條件的index已回收
※ 引述《kunlin999 (max)》之銘言:
: ※ 引述《ericabab (ㄍㄠˊ)》之銘言:
: : (要做影像處理的filter用的)
: : 請問假設現在有一個矩陣
: : 想要取出以中間點為原點,半徑為r的圓上那些點
: : 要怎麼寫呢,謝謝
: 假設A是I*J矩陣
: B是收集滿足條件的元素之集合
: B=[];
: for i=1:I
: for j=1:J
: if((i-I/2)^2+(j-J/2)^2<=r^2)
: B=[B,A(i,j)];
: end
: end
: end
: B
不知道r是不是定值
不過觀念上應該是可以造出一個[ 0 0 0 1 0 0 0
0 0 1 1 1 0 0
0 1 1 1 1 1 0
1 1 1 1 1 1 1
:
:
0 0 0 1 0 0 0 ]
這樣一個矩陣B 然後取nonzeros(A.*B) (A和B內積)
就可以得到所有想要的element
不過當r、I、J都不是定值時 這個B似乎也得用for來造
降我就很懷疑執行速度會不會比較快就是了...XD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.13.128
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章