虽然可以在相机的内部内置三个图像传感器来分别记录红、绿、蓝三元色,然后将这三种颜色合并得到最终的彩色图像,但是这样做的成本太高。
因此,柯达这个公司,提出的解决方案就是,使用一个图像传感器,在图像传感器的前面,放置一个滤光层,滤光层的滤光点与图像传感器的像素一一对应,每个滤光点只能通过红、绿、蓝三种光其中之一;
通过规律性的排列不同颜色的滤光点,我们就能在传感器上面有规律的获得不同颜色的光强值,也就是R、G、B的灰度值;
根据不同于颜色的排列,我们把Bayer分为BayerRG、BayerBG、BayerGB、BayerBG四种
但是呢,这样得到一幅图像,其实仅仅是灰度图,它并不能表达呈现真实世界的图像
放大看
如果想要呈现真实的色彩世界,那么就需要弥补每个像素所缺少的其他色彩分量,用相邻的像素值补充进来,这个过程就叫做bayer差值,也叫“去马赛克”(如要简单理解原理,可以去看开篇引用的链接)
当然,相机实现彩色图像原理,肯定不止这一种,但是,出于成本、生产技术等因素,目前你所能接触到的大部分相机,工业相机,数码相机,原始数据,都是有bayer转换产生的;
2.工业相机支持的图像格式
前面讲了,传感器的彩色由来,那么就接下来讲讲工业相机支持的图像格式种类,以海康工业相机为例子
相机种类 | 图像格式 | 细分 | 说明 |
---|---|---|---|
黑白相机 | Mono | Mono8、Mono10、Mono12,Mono10 Packed、Mono12 Packed | |
彩色相机 | Bayer | Bayer8、Bayer10、Bayer12 、Bayer10 Packed、Bayer12 Packed | Bayer根据sensor遮挡层排列不同,分为BG、GR、GB、BR四种 |
彩色相机 | YUV | YUV 422 (YUYV) Packed、YUV 422 Packed | |
彩色相机 | RGB | RGB8 Packed、BGR8 Packed | 两者的区别就是R、B排列是相反的 |
mono10、mono12:分别代表10位、12位黑白图像,在内存中以16位数据存储,不够的数据位填0补充
Mono10 Packed、Mono12 Packed:这种数据跟上面的mono10、mono12没有本质上的区别,差异就是,在数据排列上面,16位数据存储,原来补0的位置,被下一帧图像数据填充,这样的好处就是节约了传输带宽,坏处就是小小的增加了解码的难度
Bayer8、Bayer10、Bayer12:分别代表8位、10位、12位的彩色相机相机原始数据格式,传感器采样最原始的数据是Bayer12,Bayer8、Bayer10都是由Bayer12下采样过来的
Bayer10 Packed、Bayer12 Packed:与mono10 Packed,mono12 Packed一样的道理,数据排列方式不同