编码孔径成像-编解码孔径的设计(MURA均匀冗余阵列)

针孔相机(pinhole camera)和透镜相机的对比:

针孔相机(左)        透镜相机拍摄(右)

针孔相机优点:

1.无色差问题(由折射导致)

2.无限景深

缺点:

我们都知道小孔成像,如果孔过大,导致太多光线穿过小孔在光屏上会形成模糊的光斑,如果小孔偏小,那么成像的亮度就会偏暗,所以针孔相机如何选择才能避免以下两个问题:

1.分辨率低

2.太暗

目标:

提升分辨率+亮度,同时保留针孔相机的优点。

基于上述目标,采用编码孔径作为光圈的方法,拍摄照片如下图:

Peronal idea(PI):可以看到,这是一个huge mess的图片,不能作为最终结果,但是如果选择合适的编码孔径作为光圈然后,把上面生成的图像放在可控的光圈的设计上(即图片是在可以受光圈的影响的),然后再对上面图像进行重建恢复,就可以得到比普通真空相机高分辨率高亮度的图片。

1.编码孔径的设计:MURA(均匀冗余阵列)

 (矩阵p*p)

这些像素点的值是怎么来的呢?

它是由公式来计算的。

首先黑色像素点的值是0,白色是1(黑色不透光,白色透光)

原文是这么描述的:

第一行全为0;

第一列除了(0,0)像素点全为1;

CiCj相乘为1,则填1;

其他情况全填0

解释一下C是什么:

C不是约定俗成的通用符号,是作者自己定义的。

Cq=1

如果q是模p的二次剩余(Quadratic residue),则Cq=1,否则为-1。

二次剩余是数论的内容,简单来说就是X^2除以p的余数,i.e.5^23=8……1,就说:1是模3的二次剩余,那问题来了,跟5的平方有什么关系呢?实际上根据二次剩余的定义:

当存在某个X,式子

成立时,称“d是模p的二次剩余”

5是哪个存在的x,即把1当作模3的二次剩余的解。跟商也没有关系,如果找不到一个数的平方除以3余数为1,那么1就不是3的二次剩余。

那么怎么知道一个数是不是某个数的二次剩余呢?

查表:

横着看,模2的二次剩余由0和1,5的二次剩余由1和4和0.

 注:有代码可以计算。   

最后,循环位移,左上角的(第一行(全黑)和第一列(全白))像素,把它们移到中心位置,图中类似于十字架的图案。

编码完成后的中间结果:

2.解码孔径的设计:

基于编码孔径来设计

 公式:

 此模式下,MURA中的0被-1替换,但是除了第一行。并且保留循环左移。

参考资料:

Coded Aperture Imaging

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值