树莓派摄像头模糊,手动调整对焦
设备: Raspberry Pi 3 B+
摄像头: Raspberry Pi Camera v2.1
之前用树莓派搭了一个简易植物拍摄台,用来拍家里橘子从种子到发芽的延时视频。看了第一版的视频原片,橘子苗看上去特别模糊,镜头聚焦在了后面,比如背景中的地板纹路就很清楚。
就这原片的拍摄质量,我也不期望能拍出什么大片,毕竟就十块钱的摄像头。抱着试一试的心态,我决定捣鼓下能不能改进摄像头的对焦。
如何调整树莓派摄像头的对焦?
原厂出品的树莓派摄像头 V2.1 版是定焦镜头,意味着镜头不支持自动对焦,也不支持程序对焦,镜头是固定好了的。但这款摄像头设计时留了些调整的空间,如果仔细观察,可以看到摄像头其实拧进去的。只要把胶水去掉(拧起来松动后胶水自动就没了),摄像头便可以通过转一转来调整相距(镜头与感光元件间的距离),从而达到调整物距(物体与镜头的距离)的目的。
看上去一个不起眼的设计,反倒成了一个非常不错的低成本调焦方案!
仔细看图中标注的部分,可以转的镜头是最中心十字花状的部分,调整时可以用镊子或者其他尖锐工具。
工作原理
为什么调整摄像头的位置可以改变焦距呢?
为了简化摄像头的结构,可以看下面的简图。摄像头的感光元件位于底部,镜头在上方。当我们旋转镜头时,镜头的高度便会发生变化,从而调整了相距。
当我们缩小相距 v
,物距 u
相应地会变大。
v
: 相距, 感光元件与镜头的距离u
: 物距, 镜头与物体的距离
这里不得不提的著名焦距计算公式:
1 | 1/v + 1/u = 1/f |
我们知道,当镜头生产出来后,其焦距便已经固定了,镜头的焦距由镜头的几何形状决定。根据成相原理,上述公式右半部分是定值,左半部分 v
和 u
成负相关,即一个值变小,另一个值便会变大。所以,在树莓派这个摄像头上,当我们增加相距,物距便会减小,从而达到了聚焦点从背景往前移动的目的。
动手实验
实验开始!经过几次动手尝试,我建议大家先顺时针旋转,将镜头拧到最里面(不要拧得太紧),此时相距最小,物距最大。接下来,慢慢将镜头逆时针拧出来,相距逐渐变大,物距慢慢缩小。这样做有几点好处:
- 如果一开始胡乱左右乱拧,很容易错过最佳对焦距离,因为你也不知道自己拧到了什么程度
- 如果一开始就逆时针将镜头往外拧,很容易不小心把镜头拧掉出来,一旦镜头出来,安回去就比较麻烦,因为卡位实在太小
当镜头拧到最里面,我们需要慢慢把它拧出来时,我们可以每旋转45到90度就拍一张照,最好能够在一个固定位置,选择既有近景又有远景的角度,这样便于更好的观察调整效果。摄像头拍摄的命令可以用下面的例子,每次执行时可以换不同的文件名,这样可以拿新老图片前后对比。
1 | raspistill -o test.jpg |
下面是我调焦过程中的实验图片:
可以看出,最后一张时焦点已经落在笔记本键盘附近了(因为是手持拍摄,加上夜晚光线不好,所有有些模糊是由手抖动导致的)。
注意点
- 实验过程要当心,尖锐工具使用时别伤了自己
- 旋转镜头时不要用力过猛,摄像头芯片和镜头都很脆弱
- 在逆时针旋转镜头时,注意不要旋转过多,一旦镜头掉出来就麻烦了
- 有些人建议每一步都将摄像头拆下来调整,然后再装上去拍照看效果,我直接连着树莓派测试,好像也没什么问题
最后,特别感谢苹果摄像头专家胡博士的建议,他给的方程是本实验的理论基础!