我目前正在研究2D Hartley變換。代碼如下所示:如何減少Hartley變換的循環?
for u=1:size(img,1)
for v=1:size(img,2)
for x=1:size(img,1)
for y=1:size(img,2)
a = 2*pi*u*x/size(img,1);
b = 2*pi*v*y/size(img,2);
temp= img(x,y)*(cos(a+b) + sin(a+b));
X(u,v)= X(u,v)+temp;
end
end
end
end
它有4個for
循環,它需要很長的時間來執行這一點。有沒有什麼方法可以通過減少for
循環的數量來提高效率?任何關於此的將會非常有幫助。
參考:可分二維離散Hartley由Andrew B.沃森和Allen Poirson變換。
爲什麼不'X =零(大小(IMG))'? –
@AndrasDeak,因爲我特殊*更正* – rayryeng
再次檢查代碼?數字似乎有所不同。 – Divakar