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

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

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

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

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

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

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

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

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

相关推荐
AI街潜水的八角3 分钟前
基于C++的决策树C4.5机器学习算法(不调包)
c++·算法·决策树·机器学习
白榆maple28 分钟前
(蓝桥杯C/C++)——基础算法(下)
算法
JSU_曾是此间年少32 分钟前
数据结构——线性表与链表
数据结构·c++·算法
此生只爱蛋1 小时前
【手撕排序2】快速排序
c语言·c++·算法·排序算法
咕咕吖2 小时前
对称二叉树(力扣101)
算法·leetcode·职场和发展
九圣残炎3 小时前
【从零开始的LeetCode-算法】1456. 定长子串中元音的最大数目
java·算法·leetcode
lulu_gh_yu3 小时前
数据结构之排序补充
c语言·开发语言·数据结构·c++·学习·算法·排序算法
丫头,冲鸭!!!3 小时前
B树(B-Tree)和B+树(B+ Tree)
笔记·算法
Re.不晚3 小时前
Java入门15——抽象类
java·开发语言·学习·算法·intellij-idea
凤枭香3 小时前
Python OpenCV 傅里叶变换
开发语言·图像处理·python·opencv