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

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

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

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

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

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

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

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

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

相关推荐
fie88891 天前
NSCT(非下采样轮廓波变换)的分解和重建程序
算法
晨晖21 天前
单链表逆转,c语言
c语言·数据结构·算法
棒棒的皮皮1 天前
【OpenCV】Python图像处理几何变换之翻转
图像处理·python·opencv·计算机视觉
im_AMBER1 天前
Leetcode 78 识别数组中的最大异常值 | 镜像对之间最小绝对距离
笔记·学习·算法·leetcode
鼾声鼾语1 天前
matlab的ros2发布的消息,局域网内其他设备收不到情况吗?但是matlab可以订阅其他局域网的ros2发布的消息(问题总结)
开发语言·人工智能·深度学习·算法·matlab·isaaclab
LYFlied1 天前
【每日算法】LeetCode 25. K 个一组翻转链表
算法·leetcode·链表
Swizard1 天前
别再迷信“准确率”了!一文读懂 AI 图像分割的黄金标尺 —— Dice 系数
python·算法·训练
s09071361 天前
紧凑型3D成像声纳实现路径
算法·3d·声呐·前视多波束
可爱的小小小狼1 天前
算法:二叉树遍历
算法
d111111111d1 天前
在STM32函数指针是什么,怎么使用还有典型应用场景。
笔记·stm32·单片机·嵌入式硬件·学习·算法