2013-01-23 82 views
0

我需要爲圖像中的每個像素執行計算。我目前有一個需要很長時間的double for-loop代碼。將這個轉換爲「blockproc(I,[1 1],有趣)」給予任何加速?Matlab的blockproc vs for循環速度

謝謝!

+5

爲自己測試它不是更容易嗎? –

+1

我第二@ EitanT的評論。但是,如果這對你來說工作太多,請相信我 - 我是一名顧問 - 它無法幫助。 –

回答

2

如果您有權訪問並行計算工具箱和R2012a或更高版本,則可以使用use blockproc with the 'parallel'-option。或者,您可以parfor外環。雖然可能blockproc仍然更快,但您應該明確地分析這兩個選項。

或者,你可能能夠實現通過改變你的算法重要的速度上漲 - 例如,一個2D濾波器分解成2個維濾波器等


/旁白:最大的優勢blockproc能有嵌套循環解決方案的是,它可以處理太大而不適合RAM的圖像,即它負責爲您加載子圖像。

+0

我想對於公平比較'parfor'也應該在設置中。 –

+0

@ DennisJaheruddin:你說得對。我已經更新了我的答案。 – Jonas