图像处理背景知识

什么是摄像头?

我们都见过各种摄像头,比如

那么什么是摄像头,说到底,就是一个将光学信号转变成电信号的一个装置。在计算机视觉中,最简单的相机模型是小孔成像模型:

小孔模型是一种理想相机模型,没有考虑实际相机中存在的场曲、畸变等问题。但是在实际使用时,这些问题可以通过在标定的过程中引入畸变参数解决,所以小孔模型仍然是目前最广泛使用的相机模型。

图像透过镜头,照在一个感光芯片上,感光芯片可以把光照的波长和强度等信息转成计算机(数字电路)可以识别的数字信号,感光元件是长这样的:

(中间的方形元件就是感光元件)

什么是像素和分辨率?

感光元件是有很多个感光点构成的,比如有640*480个点,每个点就是一个像素,把每个点的像素收集整理起来,就是一副图片,那么这张图片的分辨率就是640*480:

什么是帧率

帧率(FPS)就是每秒钟处理的图片数量,如果超过20帧,人眼就基本分辨不出卡顿。当然,如果用在机器上,帧率是越高越好的,OpenMV的最大帧率对比:
注:没有标注均为不传输图像给IDE,因为这个过程很耗费时间。

什么是颜色

物理上,颜色就是不同波长的电磁波。

但是,根据人眼的视觉效果,可以通过RGB,CMYK,HSB,LAB色域,来将可见光的颜色描述出来。

RGB三原色

三原色的原理不是物理原因,而是由于人的生理原因造成的。人的眼睛内有几种辨别颜色的锥形感光细胞,分别对黄绿色、绿色和蓝紫色(或称紫罗兰色)的光最敏感(波长分别为564、534和420纳米)。

所以RGB经常用于显示器上,用来显示图片。

LAB亮度-对比度

Lab颜色空间中,L亮度;a的正数代表红色,负端代表绿色;b的正数代表黄色,负端代表兰色。不像RGB和CMYK色彩空间,Lab颜色被设计来接近人类视觉。

因此L分量可以调整亮度对,修改a和b分量的输出色阶来做精确的颜色平衡。

注意:在OpenMV的查找色块的算法中,运用的就是这个LAB模式!

光源的选择

如果你的机器是在工业上,或者24小时长时间运行的设备,保持一个稳定的光源是至关重要的,尤其在颜色算法中。亮度一变,整个颜色的值会变化的很大!

待添加

镜头的焦距

因为图像是通过镜头的光学折射,照到感光元件上的。那么镜头就决定了,整个画面的大小和远近。一个最重要的参数就是焦距。

镜头焦距:是指镜头光学后主点到焦点的距离,是镜头的重要性能指标。镜头焦距的长短决定着拍摄的成像大小,视场角大小,景深大小和画面的透视强弱。当对同一距离远的同一个被摄目标拍摄时,镜头焦距长的所成的象大,镜头焦距短的所成的象小。注意焦距越长,视角越小。

还有一点是镜头的畸变,因为光学原理,在感光芯片上不同的位置,与镜头的距离不同的,简单说就是近大远小,所以在边缘会出现鱼眼效果(桶型畸变)。为了解决这个问题,可以在代码中使用算法来矫正畸变,注:OpenMV中使用image.lens_corr(1.8)来矫正2.8mm焦距的镜头。也可以直接使用无畸变镜头。无畸变镜头加入了额外的矫正透镜部分,价格自然会高不少。

下面是,当OpenMV距离桌面20cm左右时,不同焦距镜头的对比图

镜头的滤片

在镜头上,通常会有一个滤片。

这个滤片是做什么的呢?

我们知道,不同颜色的光,是波长不一样。在正常环境中,除了可见光,还有很多红外光,在夜视中,用的就是红外光。

但是,在正常颜色应用中,是不需要红外光的,因为红外光也会使感光元件受到反应,就使得整个画面泛白。所以我们在镜头上放一个只能通过波长650nm以内的滤光片,就把红外光截止了。

results matching ""

    No results matching ""