发明名称 一种基于改进双线性的Bayer格式颜色插值方法
摘要 本发明公布了一种基于改进双线性的Bayer格式颜色插值方法。现有方法对色差进行处理时运算量较大,复杂度高,对数字相机成像速度有明显的影响,延时较高。本发明在重建全彩色图像的过程中,采用绿色分量和红蓝分量分步插值的组合方式实现颜色恢复。首先利用图像的空间相关性严格区分图像边缘,重建全分辨率绿色分量;然后通过改进的双线性的插值算法和已恢复的绿色分量的修正补偿来重建全分辨率的红蓝分量。相比于传统的插值算法,恢复得到的全彩色图像颜色信号的峰值信噪比更高,同时还具有在算法运算复杂度没有增加的情况下插值出的图像效果更为理想的优点。
申请公布号 CN102665030B 申请公布日期 2014.11.12
申请号 CN201210147381.7 申请日期 2012.05.14
申请人 浙江大学 发明人 谢磊;陈惠芳;任浩
分类号 H04N1/58(2006.01)I;H04N9/04(2006.01)I;H04N9/64(2006.01)I 主分类号 H04N1/58(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 杜军
主权项 一种基于改进双线性的Bayer格式颜色插值方法,其特征在于该方法包括以下步骤:步骤1.重建全分辨率绿色分量<i>G</i>,具体是:在仅包含蓝色分量<i>B</i>的像素采样点处,从水平方向和垂直方向综合考虑当前点邻域的绿色分量<i>G</i>及蓝色分量<i>B</i>,计算水平方向梯度<img file="2012101473817100001dest_path_image001.GIF" wi="20" he="25" />和垂直方向梯度<img file="421261dest_path_image002.GIF" wi="18" he="25" />,比较两个方向梯度的大小关系,当<img file="132865dest_path_image001.GIF" wi="20" he="25" /><<img file="998053dest_path_image002.GIF" wi="18" he="25" />时,则水平方向作为当前点的边缘检测参考方向,选择当前点水平方向上相邻的两个绿色分量<i>G</i>和两个蓝色分量<i>B</i>以及当前的蓝色分量<i>B</i>来计算当前点所缺失的绿色分量<i>G</i>;当<img file="543435dest_path_image001.GIF" wi="20" he="25" />><img file="126863dest_path_image002.GIF" wi="18" he="25" />时,则垂直方向作为当前点的边缘检测参考方向,选择当前点垂直方向上相邻的两个绿色分量<i>G</i>和两个蓝色分量<i>B</i>以及当前的蓝色分量<i>B</i>来计算当前点所缺失的绿色分量<i>G</i>;当<img file="376579dest_path_image001.GIF" wi="20" he="25" />=<img file="893011dest_path_image002.GIF" wi="18" he="25" />时,则选择该像素点周围四个绿色分量<i>G</i>和四个蓝色分量<i>B</i>以及当前的蓝色分量<i>B</i>来计算当前所缺失的绿色分量;在仅包含红色分量<i>R</i>的像素采样点处,其水平方向梯度<img file="2012101473817100001dest_path_image003.GIF" wi="21" he="25" />、垂直方向梯度<img file="202769dest_path_image004.GIF" wi="21" he="25" />分别由相邻的绿色分量<i>G</i>和红色分量<i>R</i>共同计算所得;该点处所缺失的绿色分量<i>G</i>的计算与在仅包含蓝色分量<i>B</i>的像素采样点处计算缺失的绿色分量<i>G</i>的插值过程相同;从水平方向和垂直方向综合考虑当前点邻域的绿色分量<i>G</i>及红色分量<i>R</i><i>,</i>计算水平方向梯度<img file="427821dest_path_image003.GIF" wi="21" he="25" />和垂直方向梯度<img file="481228dest_path_image004.GIF" wi="21" he="25" />,比较两个方向梯度的大小关系,当<img file="852166dest_path_image003.GIF" wi="21" he="25" /><<img file="332826dest_path_image004.GIF" wi="21" he="25" />时,则水平方向作为当前点的边缘检测参考方向,选择当前点水平方向上相邻的两个绿色分量<i>G</i>和两个红色分量<i>R</i>以及当前的红色分量<i>R</i>来计算当前点所缺失的绿色分量<i>G</i>;当<img file="625267dest_path_image003.GIF" wi="21" he="25" />><img file="888889dest_path_image004.GIF" wi="21" he="25" />时,则垂直方向作为当前点的边缘检测参考方向,选择当前点垂直方向上相邻的两个绿色分量<i>G</i>和两个红色分量<i>R</i>以及当前的红色分量<i>R</i>来计算当前点所缺失的绿色分量<i>G</i>;当<img file="583176dest_path_image003.GIF" wi="21" he="25" />=<img file="234737dest_path_image004.GIF" wi="21" he="25" />时,则选择该像素点周围四个绿色分量<i>G</i>和四个红色分量<i>R</i>以及当前的红色分量<i>R</i>来计算当前所缺失的绿色分量;步骤2.重建全分辨率红色分量<i>R</i>,具体是:在包含蓝色分量<i>B</i>的像素采样点处,用具有边缘检测的改进型双线性插值算法计算<i>R</i>分量,具体是:从水平方向、垂直方向、45°方向及135°方向四个方向,综合考虑当前点邻域的绿色分量<i>G</i>及红色分量<i>R</i>,进行图像边缘检测;计算垂直方向梯度<img file="2012101473817100001dest_path_image005.GIF" wi="21" he="25" />和水平方向梯度<img file="811212dest_path_image006.GIF" wi="20" he="25" />,比较<img file="206421dest_path_image005.GIF" wi="21" he="25" />、<img file="411006dest_path_image006.GIF" wi="20" he="25" />的值,选择数值较小的方向作为当前像素采样点的边缘参考方向;同时也考虑加入了<i>G</i>分量的修正;(1)当<img file="499048dest_path_image005.GIF" wi="21" he="25" /><<img file="766081dest_path_image006.GIF" wi="20" he="25" />时,则垂直方向作为当前点的边缘方向,选择当前点水平方向上相邻的两个绿色分量<i>G</i>作为当前像素采样点的边缘检测参考方向点;(2)当<img file="496140dest_path_image005.GIF" wi="21" he="25" />≥<img file="899440dest_path_image006.GIF" wi="20" he="25" />时,则水平方向作为当前点的边缘方向,选择当前点垂直方向上相邻的两个绿色分量<i>G</i>作为当前像素采样点的边缘检测参考方向点;其次是结合比较45°方向及135°方向,考虑临近同像素分量,并加入绿色分量的修正;引入阀值k;当<img file="158383dest_path_image005.GIF" wi="21" he="25" /><<img file="319237dest_path_image006.GIF" wi="20" he="25" />并且<img file="56248dest_path_image005.GIF" wi="21" he="25" /><k时,则45°方向作为当前点的边缘方向,选择当前点45°方向上相邻的红色分量<i>R</i>作为当前像素采样点的边缘检测参考方向点;并考虑与当前点相邻的两个绿色分量<i>G</i>作为修正;当<img file="579634dest_path_image005.GIF" wi="21" he="25" />≥<img file="540636dest_path_image006.GIF" wi="20" he="25" />并且<img file="516683dest_path_image006.GIF" wi="20" he="25" /><k时,则135°方向作为当前点的边缘方向,选择当前点135°方向上相邻的红色分量<i>R</i>作为当前像素采样点的边缘检测参考方向点;并考虑与当前点相邻的两个绿色分量<i>G</i>作为修正;计算当前像素点与邻近上、下、左、右四个方向的绿色分量的差值,分别是e、f、g、h,综合考虑垂直方向梯度<img file="57385dest_path_image005.GIF" wi="21" he="25" />和水平方向梯度<img file="700856dest_path_image006.GIF" wi="20" he="25" />的大小;当<img file="2012101473817100001dest_path_image007.GIF" wi="50" he="25" />并且<img file="193280dest_path_image008.GIF" wi="44" he="25" />、<img file="2012101473817100001dest_path_image009.GIF" wi="40" he="22" />时,则选择当前绿色像素点邻近的向上方向的绿色像素点作为计算红色分量的参考点,计算缺失的红色分量;当<img file="453360dest_path_image007.GIF" wi="50" he="25" />并且<img file="532174dest_path_image008.GIF" wi="44" he="25" />、<img file="30152dest_path_image010.GIF" wi="40" he="22" />时,则选择当前绿色像素点邻近的向下方向的绿色像素点作为计算红色分量的参考点,计算缺失的红色分量;当<img file="2012101473817100001dest_path_image011.GIF" wi="50" he="25" />并且<img file="942744dest_path_image012.GIF" wi="45" he="25" />、<img file="2012101473817100001dest_path_image013.GIF" wi="40" he="22" />时,则选择当前绿色像素点邻近的向左方向的绿色像素点作为计算红色分量的参考点,计算缺失的红色分量;当<img file="690120dest_path_image011.GIF" wi="50" he="25" />并且<img file="572626dest_path_image012.GIF" wi="45" he="25" />、<img file="518585dest_path_image014.GIF" wi="40" he="22" />时,则选择当前绿色像素点邻近的向右方向的绿色像素点作为计算红色分量的参考点,计算缺失的红色分量;对于<i>G</i>分量上的<i>R</i>分量的计算,考虑邻近的红色分量<i>R</i>,并且参考邻近的相应绿色分量<i>G</i>的修正;步骤3.重建全分辨率蓝色分量<i>B</i>,具体是:在包含红色分量<i>R</i>的像素采样点处,用具有边缘检测的改进型双线性插值算法计算<i>B</i>分量,具体是:从水平方向、垂直方向、45°方向及135°方向四个方向,综合考虑当前点邻域的绿色分量<i>G</i>及蓝色分量<i>B</i>,进行图像边缘检测;计算垂直方向梯度<img file="2012101473817100001dest_path_image015.GIF" wi="21" he="25" />和水平方向梯度<img file="992292dest_path_image016.GIF" wi="20" he="25" />,比较<img file="430226dest_path_image015.GIF" wi="21" he="25" />、<img file="16889dest_path_image016.GIF" wi="20" he="25" />的值,选择数值较小的方向作为当前像素采样点的边缘参考方向;同时也考虑加入了<i>G</i>分量的修正;(1)当<img file="489459dest_path_image015.GIF" wi="21" he="25" /><<img file="337329dest_path_image016.GIF" wi="20" he="25" />时,则垂直方向作为当前点的边缘方向,选择当前点垂直方向上相邻的两个绿色分量<i>G</i>作为当前像素采样点的边缘检测参考方向点;(2)当<img file="793718dest_path_image015.GIF" wi="21" he="25" />≥<img file="18026dest_path_image016.GIF" wi="20" he="25" />时,则水平方向作为当前点的边缘方向,选择当前点水平方向上相邻的两个绿色分量<i>G</i>作为当前像素采样点的边缘检测参考方向点;其次是结合比较45°方向及135°方向,考虑临近同像素分量,并加入绿色分量的修正;引入阀值k;当<img file="2012101473817100001dest_path_image017.GIF" wi="50" he="25" />并且<img file="751627dest_path_image018.GIF" wi="46" he="25" />时,则45°方向作为当前点的边缘方向,选择当前点45°方向上相邻的蓝色分量<i>B</i>作为当前像素采样点的边缘检测参考方向点;并考虑与当前点相邻的两个绿色分量<i>G</i>作为修正;当<img file="2012101473817100001dest_path_image019.GIF" wi="50" he="25" />并且<img file="35978dest_path_image020.GIF" wi="45" he="25" />时,则135°方向作为当前点的边缘方向,选择当前点135°方向上相邻的蓝色分量<i>B</i>作为当前像素采样点的边缘检测参考方向点;并考虑与当前点相邻的两个绿色分量<i>G</i>作为修正;计算当前像素点与邻近上、下、左、右四个方向的绿色分量的差值,分别是e、f、g、h,综合考虑垂直方向梯度<img file="979663dest_path_image015.GIF" wi="21" he="25" />和水平方向梯度<img file="742083dest_path_image016.GIF" wi="20" he="25" />的大小;当<img file="579458dest_path_image019.GIF" wi="50" he="25" />并且<img file="2012101473817100001dest_path_image021.GIF" wi="44" he="25" />、<img file="34710dest_path_image009.GIF" wi="40" he="22" />时,则选择当前绿色像素点邻近的向上方向的绿色像素点作为计算蓝色分量的参考点,计算缺失的蓝色分量;当<img file="465691dest_path_image019.GIF" wi="50" he="25" />并且<img file="31802dest_path_image021.GIF" wi="44" he="25" />、<img file="67891dest_path_image010.GIF" wi="40" he="22" />时,则选择当前绿色像素点邻近的向下方向的绿色像素点作为计算蓝色分量的参考点,计算缺失的蓝色分量;当<img file="100569dest_path_image017.GIF" wi="50" he="25" />并且<img file="487688dest_path_image022.GIF" wi="45" he="25" />、<img file="123069dest_path_image013.GIF" wi="40" he="22" />时,则选择当前绿色像素点邻近的向左方向的绿色像素点作为计算蓝色分量的参考点,计算缺失的蓝色分量;当<img file="279243dest_path_image017.GIF" wi="50" he="25" />并且<img file="76298dest_path_image022.GIF" wi="45" he="25" />、<img file="842391dest_path_image014.GIF" wi="40" he="22" />时,则选择当前绿色像素点邻近的向右方向的绿色像素点作为计算蓝色分量的参考点,计算缺失的蓝色分量;对于<i>G</i>分量上的蓝色分量<i>B</i>的计算,考虑邻近的蓝色分量<i>B</i>,并且参考邻近的相应绿色分量<i>G</i>的修正。
地址 310027 浙江省杭州市西湖区浙大路38号