1
我有一個座標向量comp_points
在每一行中保存一個圖像座標對。現在我想要創建一個數組comp_windows
,其中包含nxm
- 圍繞座標comp_points
的圖像窗口。這些窗口應沿着comp_windows
的第三維排列。 我解決了這樣的任務:向量化代碼,以創建一個由座標向量座標窗口組成的三維數組
I2=randi([0 255],[500 500]);
comp_points=randi([10 490],[20 2]);
delta_u_window=5;
delta_v_window=5;
for ii=1:size(comp_points,1)
comp_windows(:,:,ii)=I2(...
comp_points(ii,1)-delta_u_window:...
comp_points(ii,1)+delta_u_window,...
comp_points(ii,2)-delta_v_window:...
comp_points(ii,2)+delta_v_window);
end
現在,我覺得我能做到這一點,而不for
-loop使用串聯或索引表達式或什麼的,但我無法弄清楚。
神聖的地獄。它值得矢量化嗎?在八度,你的解決方案運行在* 0.005 *秒,而for循環需要* 0.3 *秒。我雖然基於arrayfun的解決方案,但它仍然是* 0.3 *。我的帽子給你。這只是美麗而正確的代碼。 – Ash
@Ash Wow,我想我低估了矢量化的力量!感謝您的基準測試和當然的反饋! – Divakar
wooops,我忘了說,這個時間對應於* 10^4 *點。 – Ash