我目前正在研究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