本发明属于数字图像处理领域的一种图像校正处理方法,涉及一种基于区域生长与交叉通道信息的图像紫边校正方法。
背景技术:
紫边是在数码相机成像的过程中,由于镜头色差,成像器件的电串扰,颜色插值等原因,在获得图像的过曝光饱和区域与正常曝光区域的交界处产生紫色色差即紫边问题。紫边问题的表现形式如图1所示。
在紫边校正的过程中,主要面临以下几个技术难点:第一,由于通常过曝光饱和区域与正常曝光区域的交界处情况较为复杂,所以难以采用高效的方法正确确定复杂的紫边范围。第二,由于紫边覆盖了正常曝光区域原本的颜色,现有的方法仅仅降低某些过饱和通道的像素值,难以复原正常曝光区域原本的真实颜色。第三,由于成像光学系统中镜头和像面的变化会导致紫边在图像中的表现形式不同,所以难以提出一种鲁棒性较好的方法适应各种镜头和像面的变化。
紫边校正的方法难以实现较好的鲁棒性的原因主要在于紫边范围的情况较为复杂,需要考虑光学镜头,像面传感器,被拍摄物体和拍摄距离等等原因;而紫边校正的方法难以复原被紫色覆盖区域真实颜色信息的原因主要在于对单像素点的处理无法获得区域真实的颜色信息,导致简单地改变某些通道的像素值无法复原被紫边覆盖区域真实的颜色信息。
技术实现要素:
为了解决背景技术中存在的技术问题,针对数码相机成像过程中由于镜头的色差、cmos/ccd器件的电串扰、拜尔滤镜色彩还原中的颜色插值等原因在图像的过曝光饱和区域与正常曝光区域的交界处产生紫色色差即紫边问题,进而为了解决数码相机成像过程中难以采用高效的方法确定复杂的紫边范围、难以复原正常曝光区域原本的真实颜色、现有方法难以适应各种外因导致的不同紫边表现形式等问题,本发明提出了一种基于区域生长与交叉通道信息的图像紫边校正方法。
本发明的目的是通过对输入图像的部分通道做阈值限定获得过曝光饱和区域,通过形态学膨胀的方式生长紫边影响区域,利用收敛最快的通道的像素值信息实现紫边校正。
为达到以上目的,本发明采用以下技术方案,实现流程如图2和图3所示:
(1)对输入图像的部分通道做阈值限定获得过曝光饱和区域;
(2)通过形态学膨胀的方式生长紫边影响区域;
(3)利用收敛最快的通道的像素值信息实现紫边校正。
该方法具体包括以下步骤:
(1)输入待校正图像iori,对输入图像的部分通道做阈值限定获得过曝光饱和区域,具体是:
(1.1)载入待校正图像iori,并将待校正图像iori的颜色空间从srgb颜色空间转换成rgb颜色空间,再转换成cie-xyy颜色空间得到颜色图像icie;
(1.2)对待校正图像iori的r通道和b通道做阈值限定,将r通道和b通道的两个通道分别大于r通道阈值tr和b通道阈值tb的像素点作为过曝光饱和像素点;
(1.3)新建的一个分辨率与待校正图像iori相同的二值图像imask,将过曝光饱和像素点的坐标标记于二值图像imask中,所有在二值图像imask中标记的过曝光饱和像素点构成过曝光饱和区域;
(2)在二值图像imask的过曝光饱和区域边缘利用形态学膨胀的方式生长紫边影响区域,具体是:
(2.1)对于第i次生长过程,i=1,2,3,...,n,使用半径为ri的圆形滤波器对记录过曝光饱和区域的二值图像imask做形态学膨胀操作得到新二值图像
(2.2)将第i次生长过程得到的新二值图像
(2.3)当i>2时,利用颜色图像icie,遍历所有在参考图像imask-grown上赋值为i的每个像素点pixeli,搜索邻近的上两级生长点pixeli-1和pixeli-2,判断是否跳出紫色色相区域dpurple,计算均方误差
(2.4)判断在参考图像imask-grown上的原赋值为i的每个像素点pixeli的赋值是否取消,进而控制迭代继续生长紫边。
(3)利用收敛最快的通道的像素值信息进行紫边的校正,具体是:
(3.1)对于参考图像imask-grown中赋值为n的像素点pixeln,确定rgb颜色空间中收敛最快的通道,以收敛最快的通道的像素值
(3.2)若所有在imask-grown中生长的紫边区域都已经处理完毕,则停止处理,返回完成校正后的图像irect;若在imask-grown中生长的紫边区域还未处理完毕,则迭代重复步骤,继续处理紫边区域。
所述的待校正图像是由数码相机或手机拍摄的,在过曝光饱和区域与正常曝光区域之间的过渡区域有紫色或绯红色色差的图像。
所述步骤(1.1)具体为:
具体对于待校正图像iori的每一个像素点的标准srgb值,使用如下公式对图像的所有像素点做映射,将每个像素点的标准r,g,b值分别线性化:
其中,colorl表示线性化后的rgb值,colorl=(rl,gl,bl),此即为像素点在rgb颜色空间中的像素值,color表示像素点的标准rgb值,color=(r,g,b值);
在获得每个像素点的线性化rl,gl,bl值后,通过如下公式对图像的所有像素点做映射,得到每个像素点的cie-xyy值,获得待校正图像iori的cie-xyy颜色空间图像icie:
其中,rl,gl,bl表示像素点线性化后的rgb值;x,y,z表示像素点在cie-xyz颜色空间的cie-xyz值,cie-xyz为用于过渡计算的颜色空间;xcie,ycie,y表示像素点在cie-xyy颜色空间的cie-xyy值。
所述步骤(1.2)具体为:检索待校正图像iori的所有像素点,若像素点的r通道和b通道的像素值满足以下条件,则将该像素点作为过曝光饱和像素点:
pixeloverex={pixel|pixelr≥tr,pixelb≥tb}(4)
其中,pixeloverex为过曝光饱和像素点;pixel为待校正图像iori的像素点;pixelr和pixelb分别为待校正图像iori的像素点pixel的r通道和b通道的像素值;tr和tb分别为预设的r通道阈值和b通道阈值。
所述步骤(2)具体为:
(2.1)使用半径为ri的圆形滤波器对二值图像imask做形态学膨胀操作得到
生成一个半径为ri的圆形滤波器,对二值图像imask作满足如下公式的形态学膨胀:
其中,
(2.2)创建一个与二值图像imask分辨率相同的一个参考图像imask-grown,然后以矩阵位置相同的对应元素相减的方式获得第i次生长过程的新二值图像
(2.3)当i>2时,遍历所有在参考图像imask-grown上赋值为i的每个像素点pixeli,首先以距离最近为条件寻找与像素点pixeli最邻近的上两次迭代获得的生长点pixeli-1和pixeli-2,生长点是指原赋值未被取消的每个像素点pixeli,记录三个坐标点的坐标信息;然后根据颜色图像icie中该像素点pixeli及上两级生长点pixeli-1和pixeli-2的颜色信息,即cie-xyy空间中的xcie值与ycie值,若像素点pixeli,pixeli-1和pixeli-2在颜色空间cie-xyy中的xcie值与ycie值之间的关系不符合下式的条件,则认为像素点pixeli,pixeli-1和pixeli-2在颜色图像icie中的色相坐标值xcie,ycie均已跳出紫色色相区域dpurple:
dpurple={(xcie,ycie)|(ycie≤1.3692xcie-0.0927)&(ycie≤0.2048xcie+0.3930)&(ycie≥0.05510xcie-0.0227)}(7)
其中,xcie,ycie为像素点pixeli,pixeli-1和pixeli-2在icie中的色相坐标值;
利用该像素点pixeli及上两级生长点pixeli-1和pixeli-2在颜色图像icie中的色相坐标值xcie,ycie按如下计算公式计算均方误差
其中,
若均方误差
当i≤2时,跳过此步操作,不取消参考图像imask-grown上在像素点pixeli处的赋值;
(2.4)若所有在参考图像imask-grown上的原赋值为i的每个像素点pixeli的赋值都被取消,则紫边已生长完毕;若imask-grown图像上的pixeli处的赋值被部分取消或都未取消,则紫边还未生长完毕,回到步骤(2.1)迭代继续生长紫边。
所述步骤(3)具体为:
(3.1)对于参考图像imask-grown中赋值为n的像素点pixeln,n=max-1,max-2,...,1,确定收敛最快的通道的像素值
首先获得参考图像imask-grown中赋值为n的像素点pixeln在待校正图像iori中对应的像素点,获得该像素点在rgb颜色空间中的像素值
然后以距离最近为条件寻找到像素点pixeln最邻近的上一次迭代获得的生长点pixeln+1,生长点是指原赋值未被取消的每个像素点pixeli,然后对以下优化方程利用随机梯度下降法在其余两个通道的像素值的二维空间
其中,
最后以优化得到的校正后的像素点pixeln’的rgb值
(3.2)若n≥2,则认为在imask-grown中生长的紫边区域还未处理完毕,则继续处理紫边区域,令n=n-1,重复(3.1)至(3.2)的步骤;若n=1则认为所有在imask-grown中生长的紫边区域都已经处理完毕,停止处理,返回完成校正后的图像irect。
本发明方法首先确定实际拍摄图像的过曝光区域,再于过曝光区域周围生长紫边影响区域,直至生长边缘区域的色调信息收敛,最后从生长边缘区域开始,利用收敛最快的通道的像素值指导其他通道的像素值收敛,直到过曝光饱和区域停止处理,可以得到消除紫边后的图像。
本发明方法对数码相机成像过程中在过曝光饱和区域与正常曝光区域出现的紫色色差即紫边问题做了自适应校正,且校正后的紫色色差区域颜色过渡自然,方法鲁棒性强。
本发明通过对输入图像的部分通道做阈值限定获得过曝光饱和区域,通过形态学膨胀的方式生长紫边影响区域,利用收敛最快的通道的像素值信息实现紫边校正。
本发明的有益效果:
本发明方法对对输入图像的部分通道做阈值限定获得符合标准的过曝光饱和区域;通过形态学膨胀的方式生长紫边影响区域,可以确定任意形状的被光源污染的区域;利用收敛最快的通道的像素值信息实现紫边校正,以复原紫边影响区域物体真实的颜色信息。
本发明方法对数码相机拍摄的,在过曝光饱和区域与正常曝光区域的交界处存在紫色色差即紫边的图像,实现了稳定有效的紫边校正,针对待校正的紫边区域较为复杂的情况,提出了区域生长的方法确定复杂的紫边区域。针对被紫边影响区域物体的真实颜色难以复原的情况,提出了利用交叉通道信息校正紫边。实现了高效稳定的紫边校正方法,鲁棒性强,校正视觉效果优异。
附图说明
图1为数码相机拍摄的受紫边影响的图像示例。
图2为本发明方法主要框架流程示意图
图3为本发明方法细节流程示意图。
图4为数码相机拍摄的受紫边影响的图像iori与其对应的过曝区域图像imask,示意图,(a)为数码相机拍摄的受紫边影响的图像iori,(b)其对应的过曝区域图像imask。
图5为数码相机拍摄的受紫边影响的图像iori与其对应的生长出的紫边区域imask-grown示意图,(a)为数码相机拍摄的受紫边影响的图像iori,(b)为其对应的生长出的紫边区域imask-grown。
图6为利用交叉通道信息校正紫边区域前后,生长出的紫边区域imask-grown三通道的像素值随着生长次序i的变化情况,(a)为利用交叉通道信息校正紫边区域前的统计结果,(b)为利用交叉通道信息校正紫边区域后的统计结果。
图7为数码相机拍摄的受紫边影响的图像iori及其利用本发明方法校正紫边后得到校正后的图像irect,(a)为数码相机拍摄的受紫边影响的图像iori,(b)为利用本发明方法校正紫边后得到校正后的图像irect。
具体实施方式
以下结合附图对本发明作进一步说明。
本发明针对数码相机成像过程中难以采用高效的方法确定复杂的紫边范围,难以复原正常曝光区域原本的真实颜色,现有方法难以适应各种外因导致的不同紫边表现形式等问题,采用了基于区域生长与交叉通道信息的紫边校正方法。通过对输入图像的部分通道做阈值限定获得过曝光饱和区域,通过形态学膨胀的方式生长紫边影响区域,利用收敛最快的通道的像素值信息实现紫边校正。
本发明的实施例流程如附图2和图3所示,主要包括对输入图像的部分通道做阈值限定获得过曝光饱和区域、通过形态学膨胀的方式生长紫边影响区域和利用收敛最快的通道的像素值信息实现紫边校正三个步骤。具体如下:
步骤1.对输入图像的部分通道做阈值限定获得过曝光饱和区域
1-1载入待校正图像iori,对于iori的每一个像素点的标准rgb值,使用如下公式对图像的所有像素点做映射,将每个像素点的标准r,g,b值分别线性化:
其中,colorl表示线性化后的rgb值,colorl=(rl,gl,bl),此即为像素点在rgb颜色空间中的像素值,color表示像素点的标准rgb值,color=(r,g,b值);
获得每个像素点的线性化rl,gl,bl值后,通过如下公式对图像的所有像素点做映射,得到每个像素点的cie-xyy值,获得输入图像iori的cie-xyy颜色空间图像icie:
其中,rl,gl,bl表示对应像素点的线性化rgb值;x,y,z表示对应像素点的ciexyz值,ciexyz为用于过渡计算的颜色空间;xcieycie,y表示对应像素点的cie-xyy值。
1-2检索待校正图像iori的所有像素点,若其r通道和b通道的像素值满足以下条件,则将其确定为过曝光饱和像素点:
pixeloverex={pixel|pixelr≥tr,pixelb≥tb}(4)
其中,pixeloverex为过曝光饱和像素点;pixel为iori的像素点;pixelr和pixelb分别为对应iori的像素点的r通道和b通道的像素值;tr和tb分别为r通道和b通道的阈值。
1-3创建一个与输入的待校正图像iori分辨率相同的一个二值图像imask,在二值图像imask中,从步骤1-2中获得的过曝光饱和像素点pixeloverex的坐标处像素值置为1,其他像素点认为正常曝光,正常曝光像素点的坐标处像素值置为0。数码相机拍摄的受紫边影响的图像iori与其对应的过曝区域图像imask可参考图4。
步骤2.通过形态学膨胀的方式生长紫边影响区域
2-1对于第i次生长过程(i=1,2,3,…,n)生成一个半径为ri(ri=i)的圆形滤波器,对记录过曝光饱和区域的imask做满足如下公式的形态学膨胀:
其中,
2-2创建一个与二值图像imask分辨率相同的一个参考图像imask-grown,然后以矩阵位置相同的对应元素相减的方式获得第i次生长过程的新二值图像
2-3对于第i次生长过程(i=1,2,3,...,n),若i>2,首先以距离最近为条件寻找与像素点pixeli最邻近的上两级生长点pixeli-1和pixeli-2,记录三个坐标点的坐标信息。然后在icie中查找pixeli,pixeli-1和pixeli-2的颜色信息,即cie-xyy空间中的xcie值与ycie值,若像素点pixeli,pixeli-1和pixeli-2在颜色空间cie-xyy中的xcie值与ycie值之间的关系不符合下式的条件,则认为像素点pixeli,pixeli-1和pixeli-2在icie中的色相坐标值xcie,ycie都已跳出紫色色相区域dpurple:
dpurple={(xcie,ycie)|(ycie≤1.3692xcie-0.0927)&(ycie≤-0.2048xcie+0.3930)&(ycie≥0.05510xcie-0.0227)}(7)
其中,xcie,ycie为像素点pixeli,pixeli-1和pixeli-2在icie中的色相坐标值;
再利用像素点pixeli,pixeli-1和pixeli-2在icie中的色相坐标值xcie,ycie以如下计算公式计算均方误差,
其中,
若像素点pixeli,pixeli-1和pixeli-2在icie中的色相坐标值xcie,ycie都已跳出紫色色相区域dpurple且三个像素点pixeli、pixeli-1、pixeli-2的色相坐标xcie,ycie之间的均方误差
若i<2,则不进行2-3步,不判断紫边是否收敛;
2-4若所有在imask-grown图像上的pixeli处的赋值都被取消,则判断紫边已生长完毕;若imask-grown图像上的pixeli处的赋值被部分取消或都未取消,则判断紫边还未生长完毕,令i=i+1,重复(2.1)至(2.4)的步骤;
步骤3.利用收敛最快的通道的像素值信息指导紫边的校正
3-1对于imask-grown中赋值为n的像素点pixeln(n=max-1,max-2,…,1),首先以距离最近为条件寻找到像素点pixeln最邻近的上级生长点pixeln+1,假定校正后的像素点以pixeln’表示,然后对以下优化方程利用随机梯度下降法在二维空间
其中,
最后以优化得到的校正后的像素点pixeln’的rgb值
如图6中所示,利用交叉通道信息校正紫边区域前后,生长的紫边区域imask-grown三通道的像素值与生长次序i的关系有了明显的变化,其中(a)为利用交叉通道信息校正紫边区域前生长的紫边区域imask-grown三通道的像素值与生长次序i的关系,(b)为利用交叉通道信息校正紫边区域后生长的紫边区域imask-grown三通道的像素值与生长次序i的关系。
3-2检索n的数值,若n≥2,则认为在imask-grown中生长的紫边区域还未处理完毕,则继续处理紫边区域,令n=n-1,重复(3.1)至(3.2)的步骤;若n=1则认为所有在imask-grown中生长的紫边区域都已经处理完毕,停止处理,返回完成校正后的图像irect。
利用本发明提出的方法对数码相机拍摄的受紫边影响的图像iori校正紫边后得到的校正图像irect的对比示意图如图7所示。