what is the Demosaic?

CMOS/CCD在成像时,CFA(color filter array),CFA过滤不同频段的光,因此,Sensor的输出的RAW数据信号包含了3个通道的信息。人眼对绿色更敏感,因此CFA阵列设计为1/2的G分量,1/4和R和1/4的B分量。

sensor输出为raw格式的数据,此时为单通道原始数据,但是我们的色彩显示设备是每个pixel包含三通道信息的。所以我们需要进行色彩插值,也就是demosaic。

why does Demosaic?

还原现实世界真实的色彩。

how to Demosaic?

以双线性插值为例(opencv库默认插值):

R(3,4)插值G(3,4)B(3,4)

G(3,3)插值R(3,3)B(3,3)

这样每个pixel可以插值两个pixel组成RGB三通道。

在用opencv和matlab进行插值计算的时候有个小技巧处理边缘像素的插值问题,方法如下:

             将边缘填充然后用一套很简单的for循环就可以进行插值计算了,最后再去掉外包边缘就可以了。

我的示例:

我的程序很简单一段,就是按照公式直接进行插值的。

下图是将BGRGbayermode 转换为RGB图。

ISP PIPLINE (四) Demosaic的更多相关文章

  1. ISP PIPLINE (十四) AE(自动曝光)

    自动曝光可以可以通过调节 模拟增益,数字增益,曝光时间,光圈大小来调剂曝光. 曝光在ISP PIPLINE的位置. (先介绍一个额外的知识点: ) gamma compression(也就是de-ga ...

  2. ISP PIPLINE(零) 知识综述预热

    本文为camera isp pipline概述 ISP,即image signal processing.为图像成型做的处理工作.适应不同光学环境下图像的还原. pipline流程如下: 光通过LEN ...

  3. ISP PIPLINE (六) 3A 综述

    前言: 上一篇文章: ISP PIPLINE (五) Denoise 下一篇文章: (1)3A定义包括什么 Iris:自动光圈,根据环境自动调节光圈. 既然讲到光圈,就先看一下光圈是什么,以及它如何影 ...

  4. ISP PIPLINE (十一) color correction

    什么是color correction? 为什么要进行color correction? 转换后的色彩饱和度更加明显,更加符合人眼感官. 如何进行color correction? 下图是步骤: 第一 ...

  5. ISP PIPLINE (六) AWB

    What is WB(white balance)? 人的视觉和神经系统在看到白色物体的时候,基本不受环境的变化而出现严重的错觉.比如阴天,晴天,室内,室外,日光灯,白炽灯等的环境下,人依然会将白纸视 ...

  6. ISP PIPLINE (二) LensShading Correct

    what is the LSC? lens shading 分为:Y-shading , color shading. 在讲LSC之前,我们先来理解一个重要的术语--CRA(Chief ray ang ...

  7. ISP PIPLINE (七) gamma

    what is the gamma? CCD.CMOS成像方式是通过像点中的"硅"感受光线的强弱而获得画面.而硅感光是物理成像,它真实地反应光线强度的变化,来多少就输出多少,因此它 ...

  8. ISP PIPLINE (一) BLC 以及 线性化

    what is the BlackLevel? 暗电流来源1.raw8为例,单个pixel的有效值是0~255,但是实际AD芯片的精度可能无法将电压值很小的一部分转换出来,芯片厂会刻意添加一个固定的偏 ...

  9. ISP PIPLINE (十五) AF

    主流的AF: CDAF, PDAF, laser assist AF(这个只是辅助,在微距或者拍摄纹理不明显的场景下好用). AF的大致原理就是检测图像锐度或者等价于锐度的参数,推动马达实现合焦或者对 ...

随机推荐

  1. P1742 最小圆覆盖(计算几何)

    体验过\(O(n^3)\)过\(10^5\)吗?快来体验一波当\(wys\)的快感吧\(QAQ\) 前置芝士1:二元一次方程组求解 设 \[\begin{cases}a1 * x + b1*y=c1\ ...

  2. 20175221 实验一《Java开发环境的熟悉》实验报告

    20175221 实验一<Java开发环境的熟悉>实验报告 (一)Linux运行结果 (二)IDEA下Java程序开发.调试:学会通过调试(Debug)来定位逻辑错误   试验IDEA是否 ...

  3. linux系统无法启动或无法登入

    修改root权限: https://blog.csdn.net/houjue2298/article/details/78539827 修改密码: https://www.cnblogs.com/we ...

  4. Harbo1.5.2离线搭建

    环境说明 操作系统版本:Centos7.5 docker版本:docker-ce 17.03.2 harbor版本:v1.5.2 docker-compose:  1.22.0 基础环境搭建 系统优化 ...

  5. sql注入学习 sqlliab教程 lesson1 (sqlliab搭建教程)

    靶场搭建 小白建议直接用集成环境.推荐laragon (由于这套靶场较早,需要使用php7.0以下环境,安装完php laragon需要在安装php低版本,默认laragon只集成了一个7.0的php ...

  6. MVC控制器返回一个list 视图接收

    控制器 public ActionResult InfoFrame() { List<Users> list = new List<Users>(); if (Session[ ...

  7. keras的网络结构与网络配置

    摘自: https://www.cnblogs.com/Anita9002/p/8136357.html Keras的网络配置

  8. spring和mybatis的整合开发(基于MapperScannerConfigurer的整合开发(适用于复杂项目,接口较多的情况))

    在实际项目中,Dao层会包含很多接口,这样会导致spring配置文件过于臃肿.这时就需要采用扫描包的形式来配置mybaits中的映射器. 采用MapperScannerConfigurer来实现. M ...

  9. 【汇总目录】Python

    跟廖雪峰老师学Python笔记 [2019年03月29日] 匿名函数 [2019年03月25日] 返回函数与闭包 [2019年03月25日] sorted [2019年03月25日] filter [ ...

  10. C# 处理文件的压缩与解压

    最近做了一个关于winform 程序更新下载的功能,大概思路是,程序检测到服务端系统版本号发生改变,系统需要更新:这时请求服务端更新地址,下载更新包到程序的根目录,更新包是一个压缩包,下载完后再把压缩 ...