我想實現Hough變換算法。算法有效,但速度很慢。 目前我計算RHO,通過這個方程在兩個for循環:沒有for循環的Matlab公式優化
對於i = 1:長度(X)
j=1; for theta = -pi/2:nBinsTheta:pi/2-nBinsTheta ro =round(x(i).*cos(theta) + y(i).*sin(theta)); .... j = j + 1; end
端
如何可以簡化此,爲了工作沒有循環? 我需要計算沒有循環的ro,但是我怎麼能這樣做來覆蓋所有可能的theta?
編輯︰現在我需要知道如何將1,添加到累加器矩陣中給定的單元格給定x和y座標向量。例如,讓我們說,我有像載體:
X:[1 2 1 3]
Y:[1 3 1 4]
我想解決沒有循環這個問題。我知道我需要使用sub2ind轉換爲線性索引,但問題是會有很多相同的線性索引,例如我給出的,將會有2x1(1,1座標重複兩次)。如果您嘗試像這樣添加1:
A([11])= A([11])+ 1;
它只會添加1次,這是我的問題。
是什麼在那裏使用j'的'的工作嗎? – Divakar
j的意思是在累加器數組中存取適當的值以用於投票 – EWER115
您可以格式化EDIT部分嗎?現在很難閱讀。 – Divakar