本人刚开始接触机器视觉领域就是学习解压lytro光场相机,lytro光场相机是有ng博士创立的lytro公司制造的。根据ng的论文描述,光场重聚焦主要通过空域和频域傅里叶变换来实现。而且ng认为频域的算法复杂度要比空域的要低,但是经过整合,空域的计算时间也是比较满意的,整体上与频域重聚焦相差无几。
光场重聚焦实现如下(matlab):
%LF为五维光场数据。
%d为光场变换参数。
[m,n,p,q,r]=size(LF);
d=input('光场变换参数=');
for i=1:m
for j=1:n
t=round(p+d*m);
s=round(q+d*n);
LF_new(i,j,(1:p)+t,(1:q)+s,:)=LF(i,j,:,:,:)
end
end
空域重聚焦图片如下:
下一步,将更新在lytro原始图像上进行重聚焦的方法。