彩色相机工作原理——bayer格式理解

早期,图像传感器只能记录光的强弱,无法记录光的颜色,所以只能拍摄黑白照片。

1974年,拜尔提出了bayer阵列,发明了bayer格式图片。不同于高成本的三个图像传感器方案,拜尔提出只用一个图像传感器,在其前面放置一个布满滤光点的滤光片。滤光点只能通过红、绿、蓝其中的一种颜色。

滤光点有规律地排布,每个绿点的四周,分布着2个红点、2个蓝点、4个绿点。这意味着,整体上,绿点的数量是其他两种颜色点的两倍。这是因为研究显示人眼对绿色最敏感,所以滤光层的绿点最多。

每个滤光点周围有规律地分布其他颜色的滤光点,那么就有可能结合它们的值,判断出光线本来的颜色。第一张图片中像素颜色空缺的值可以通过各种插值手段进行填充。

例如,黄光由红光和绿光混合而成,黄光通过滤光层后,红点和绿点下面的像素都会有值,但是蓝点下面的像素没有值。逆推可知,一个像素周围都是红色和绿色,且没有蓝色,则该像素原本颜色为黄色。

这种计算颜色的方法,称为"去马赛克"。原本图像只有四种颜色,红、绿、蓝、黑。

可以看出下半图像是四种颜色的小格子组合的,通过算法实现"去马赛克",得到上半图像,输出彩色图像。

参考文章:为什么数码相机可以拍出彩色照片? - 阮一峰的网络日志 (ruanyifeng.com)

相关推荐
wefg14 小时前
【C++】智能指针
开发语言·c++·算法
搂鱼1145145 小时前
一类判断包含颜色整体的题目
算法
Demon--hx5 小时前
[c++]string的三种遍历方式
开发语言·c++·算法
无敌最俊朗@5 小时前
力扣hot100 - 合并两个有序链表21
算法·leetcode·链表
墨染点香5 小时前
LeetCode 刷题【168. Excel 表列名称】
算法·leetcode·职场和发展
hans汉斯5 小时前
基于改进YOLOv11n的无人机红外目标检测算法
大数据·数据库·人工智能·算法·yolo·目标检测·无人机
Swift社区6 小时前
LeetCode 431 - 将 N 叉树编码成二叉树
算法·leetcode·职场和发展
子豪-中国机器人6 小时前
1030-csp 2019 入门级第一轮
算法
关注我立刻回关7 小时前
洛谷平台
算法
Cx330❀7 小时前
C++ map 全面解析:从基础用法到实战技巧
开发语言·c++·算法