具体实施方式
为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
正常图像的色彩主要表现在图像的非边缘部分,其边缘特别是高亮边缘的色彩一般很淡。并且人眼对正常图像色彩的认知受图像边缘色彩的影响很小。
于是本发明提供了一种去除图像伪彩色的设备及方法,原理是将非边缘像素的色彩信息保留的同时将高亮边缘像素的色彩信息消弱或者消除,从而去除伪彩色,虽然这会将高亮边缘本身的色彩信息消弱或者消除,但是鉴于高亮边缘的色彩对于整幅图像的色彩影响很小,这种方法可以在有效消除因镜头光学相差引起的高亮边缘伪彩色的同时,有效保证整幅图像的整体色彩效果。
作为本发明提供的一种处理图像伪彩色的设备实施例1,如图1所示,包括:矩阵建立模块11,用于以目标像素点为中心像素点建立n×n的图像矩阵,其中n=2k+1,k为大于等于1的整数;边缘强度值计算模块12,基于图像矩阵对图像亮度信号值Y进行计算,得到反映目标像素点边缘对比度的边缘强度值VAL_EDGE_t;边缘因数值计算模块13,对边缘强度值VAL_EDGE_t进行计算,得到反映图像伪彩色程度的边缘因数值VAL_EDGE;调制因数值计算模块14,对边缘因数值VAL_EDGE进行计算,得到反映调制程度的调制因数值GAIN_C;以及色差信号调制模块15,利用接收到的调制因数值GAIN_C对目标像素点的色差输入信号值CB_IN、CR_IN进行校正。
本实施例1中,矩阵建立模块11以目标像素点为中心像素点建立3×3的图像矩阵,但不限于3×3的图像矩阵,本领域技术人员所熟知的:n×n的图像矩阵也能满足要求,其中n=2k+1,k为大于等于1的整数。
边缘强度值计算模块12基于3×3的图像矩阵计算每个像素点的边缘强度值VAL_EDGE_t,边缘强度值VAL_EDGE_t的计算采用sobel算子实现,但不限于sobel算子,例如Roberts算子、拉普拉斯算子等均可实现边缘强度值的计算。如图3所示,该计算方法使用将要计算其边缘强度的那个像素点(目标像素点)附近的八个周边像素点的亮度信号值Y11,Y12,Y13,Y21,Y23,Y31,Y32,Y33,边缘强度值VAL_EDGE_t采用如下公式进行计算:
V AL_EDGE_t=|(Y11+Y12+Y13)-(Y31+Y32+Y33)|+|(Y11+Y21+Y31)-(Y13+Y23+Y33)|; (1)
其中VAL_EDGE_t表示边缘强度值,取值范围为0≤VAL_EDGE_t≤255,如果计算结果超出255,使其等于255,在公式(1)中,Y11、Y12、Y13、Y21、Y23、Y31、Y32、Y33表示目标像素点周边像素点的亮度值,取值范围为大于等于0,小于等于255。
边缘因数值计算模块13以这样一种方式计算边缘因数值VAL_EDGE,其方式为:
设置第一阈值TH_MIN,设置第二阈值TH_MAX,并且第二阈值TH_MAX大于第一阈值TH_MIN;
当VAL_EDGE_t<TH_MIN时,VAL_EDGE=TH_MIN;
当VAL_EDGE_t>TH_MAX时,VAL_EDGE=TH_MAX;
当TH_MIN≤VAL_EDGE_t≤TH_MAX时,VAL_EDGE=VAL_EDGE_t。
其中VAL_EDGE_t为边缘强度值,TH_MIN为第一阈值,TH_MAX为第二阈值,VAL_EDGE为边缘因数值。
调制因数值计算模块14以如下公式计算调制因数值GAIN_C:
GAIN_C=(TH_MAX-VAL_EDGE)/(TH_MAX-TH_MIN);
(2)
其中GAIN_C表示调制因数值,取值范围为大于等于0且小于等于1;
TH_MIN表示第一阈值,取值范围为大于0且小于等于254;
TH_MAX表示第二阈值,取值范围为大于TH_MIN且小于等于255;
VAL_EDGE表示边缘因数值,取值范围为大于等于TH_MIN且小于等于TH_MAX。
色差信号调制模块15基于调制因数值GAIN_C对目标像素点输入色差信号值CB_IN、CR_IN进行调制,CB_IN、CR_IN为色差信号调制模块15的输入色差信号值,CB_OUT、CR_OUT为色差信号调制模块15的输出色差信号值,采用如下公式进行对色差信号进行校正:
CB_OUT=CB_IN*GAIN_C; (3)
CR_OUT=CR_IN*GAIN_C; (4)
其中CB_IN表示蓝色色差输入信号值,CR_IN表示红色色差输入信号值,GAIN_C表示调制因数值,CB_OUT表示蓝色色差输出信号值,CR_OUT表示红色色差输出信号值。
由处理图像伪彩色的设备实施例1中公式(2)、(3)、(4)可知:
当边缘很弱时,即VAL_EDGE接近于TH_MIN,这时由公式(2)可知GAIN_C接近于1,又由公式(3)、(4)可知:调整后的色差信号值CB_OUT、CR_OUT与原来输入的色差信号值CB_IN、CR_IN接近,这样图像中一般像素(边缘较弱的像素)的色差信号就基本保证不受校正的影响。
当边缘很强时,即VAL_EDGE接近于TH_MAX,这时由公式(2)可知GAIN_C接近于0,又由公式(3)、(4)可知:调整后的色差信号值CB_OUT、CR_OUT接近于0,图像色彩得以完全消除,这样图像中处于边缘的像素的色彩信息会得到消弱直至完全消除,消除了图像边缘的伪彩色。
作为本发明提供的一种处理图像伪彩色的设备的另一实施例2,如图2所示,实施例2中矩阵建立模块21、边缘强度值计算模块22、边缘因数值计算模块23、调制因数值计算模块24同实施例1中矩阵建立模块11、边缘强度值计算模块12、边缘因数值计算模块13、调制因数值计算模块14实现的功能相同,计算出的数据也一样,故省略描述内容。
本实施例2中矩阵建立模块21和调制因数值计算模块24之间进一步增加了边缘像素最大亮度值计算模块27,该边缘像素最大亮度值计算模块27基于图像矩阵对图像亮度信号值Y进行计算,得到边缘像素最大亮度值Y_MAX。
实施例2中调制因数值计算模块24和所述色差信号调制模块25之间进一步包括:第二调制因数值计算模块26,对调制因数值GAIN_C和边缘像素最大亮度值Y_MAX进行计算,得到反映调制程度的第二调制因数值GAIN_C1。
边缘像素最大亮度值计算模块27基于3×3的图像矩阵计算边缘像素最大亮度值Y_MAX,如图3所示,该计算方法使用将要计算其边缘强度的那个像素点(目标像素点)及附近的八个周边像素点的亮度信号值Y11、Y12、Y13、Y21、Y22、Y23、Y31、Y32、Y33,边缘像素最大亮度值Y_MAX采用如下公式进行计算:
Y_MAX=max([Y11,Y12,Y13,Y21,Y22,Y23,Y31,Y32,Y33]); (5)
其中0≤Y_MAX≤255,如果计算结果超出255,使其等于255,在以上公式中,Y22表示目标像素点亮度值,取值范围为大于等于0,小于等于255;Y11、Y12、Y13、Y21、Y23、Y31、Y32、Y33表示目标像素点周边像素点亮度值,取值范围为大于等于0,小于等于255。
本实施例2中第二调制因数计算模块26以如下公式计算第二调制因数值GAIN_C1:
GAIN_C1=1-(Y_MAX/256)*(1-GAIN_C); (6)
其中GAIN_C1表示第二调制因数值,取值范围为大于等于0且小于等于1;
GAIN_C表示调制因数值,取值范围为大于等于0且小于等于1;
Y_MAX表示边缘像素最大亮度值,取值范围为大于0且小于等于255。
本实施例2中色差信号调制模块25以如下公式对输入色差信号CB_IN、CR_IN进行校正:
CB_OUT=CB_IN*GAIN_C1; (7)
CR_OUT=CR_IN*GAIN_C1; (8)
其中CB_IN表示蓝色色差输入信号值,CR_IN表示红色色差输入信号值,GAIN_C1表示第二调制因数值,CB_OUT表示蓝色色差输出信号值,CR_OUT表示红色色差输出信号值。
由处理图像伪彩色的设备实施例2中公式(6)、(7)、(8)可知:
当边缘很弱,即VAL_EDGE接近于TH_MIN,或边缘比较暗时,即Y_MAX很小,GAIN_C1接近于1,调整后的色差信号CB_OUT、CR_OUT与原来的色差信号CB_IN、CR_IN接近,这样图像中一般pixel(不处于边缘强度很大或亮度很高的边缘)的色彩信息就基本保证不受影响。
当边缘很强,即VAL_EDGE接近于TH_MAX,或边缘很亮,即Y_MAX接近256时,GAIN_C1接近于0,调整后的色差信号CB_OUT、CR_OUT接近于0,色彩完全消除,这样图像中处于边缘强度很强的亮边缘像素的色彩信息得到消弱直至完全消除,消除了图像边缘的伪彩色。
下面将进一步详细描述处理图像伪彩色的方法,如图4所示,作为处理图像伪彩色的方法的实施例3,包括如下步骤:
步骤S41:以目标像素点为中心像素点建立n×n的图像矩阵,其中n=2k+1,k为大于等于1的整数;
步骤S42:对图像亮度信号值Y进行计算,得到反映目标像素点边缘对比度的边缘强度值VAL_EDGE_t;
步骤S43:对边缘强度值VAL_EDGE_t进行计算,得到反映图像伪彩色程度的边缘因数值VAL_EDGE;
步骤S44:对边缘因数值VAL_EDGE进行计算,得到反映调制程度的调制因数值GAIN_C;
步骤S45:利用接收到的调制因数值对目标像素点的色差信号值CB_IN、CR_IN进行校正。
本实施例3中,矩阵建立步骤S41以目标像素点为中心像素点建立3×3的图像矩阵,但不限于3×3的图像矩阵,本领域技术人员所熟知的:n×n的图像矩阵也能满足要求,其中n=2k+1,k为大于等于1的整数。
上述步骤S42中边缘强度值计算步骤基于3×3的图像矩阵计算每个像素点的边缘强度值VAL_EDGE_t,边缘强度值VAL_EDGE_t的计算采用sobel算子实现,但不限于sobel算子,例如Roberts算子、拉普拉斯算子等均可实现边缘强度值的计算。如图3所示,该计算方法使用将要计算其边缘强度的那个像素点(目标像素点)附近的八个周边像素点的亮度信号值Y11,Y12,Y13,Y21,Y23,Y31,Y32,Y33,边缘强度值VAL_EDGE_t采用如下公式进行计算:
V AL_EDGE_t=|(Y11+Y12+Y13)-(Y31+Y32+Y33)|+|(Y11+Y21+Y31)-(Y13+Y23+Y33)|; (1)
其中VAL_EDGE_t表示边缘强度值,取值范围为0≤VAL_EDGE_t≤255,如果计算结果超出255,让其等于255;在公式(1)中,Y11、Y12、Y13、Y21、Y23、Y31、Y32、Y33表示目标像素点周边像素点的亮度值,取值范围为大于等于0,小于等于255。
步骤S43以如下方法计算边缘因数值VAL_EDGE,其步骤为:
第一阈值TH_MIN的设置,第二阈值TH_MAX的设置,并且第二阈值TH_MAX大于第一阈值TH_MIN;
当所述边缘强度值VAL_EDGE_t小于第一阈值TH_MIN时,设定边缘因数值VAL_EDGE为第一阈值TH_MIN;
当所述边缘强度值VAL_EDGE_t大于第二阈值TH_MAX时,设定边缘因数值VAL_EDGE为第二阈值TH_MAX;
当所述边缘强度值VAL_EDGE_t大于第一阈值TH_MIN且小于第二阈值TH_MAX时、或等于第一阈值TH_MIN时、或等于第二阈值TH_MAX时,设定边缘因数值VAL_EDGE为边缘强度值VAL_EDGE_t。
上述步骤S44中调制因数值GAIN_C利用如下公式求得:
GAIN_C=(TH_MAX-VAL_EDGE)/(TH_MAX-TH_MIN);
(2)
其中GAIN_C表示调制因数值,取值范围为大于等于0且小于等于1;
TH_MIN表示第一阈值,取值范围为大于0且小于等于254;
TH_MAX表示第二阈值,取值范围为大于TH_MIN且小于等于255;
VAL_EDGE表示边缘因数值,取值范围为大于等于TH_MIN且小于等于TH_MAX。
步骤S45基于调制因数值GAIN_C对输入色差信号值CB_IN、CR_IN进行调制,用如下公式进行调制:
CB_OUT=CB_IN*GAIN_C; (3)
CR_OUT=CR_IN*GAIN_C; (4)
其中CB_IN表示蓝色色差输入信号值,CR_IN表示红色色差输入信号值,GAIN_C表示调制因数值,CB_OUT表示蓝色色差输出信号值,CR_OUT表示红色色差输出信号值。
由处理图像伪彩色的方法实施例3中公式(2)、(3)、(4)可知:
当边缘很弱时,即VAL_EDGE接近于TH_MIN,这时由公式(2)可知GAIN_C接近于1,又由公式(3)、(4)可知:调整后的色差信号值CB_OUT、CR_OUT与原来输入的色差信号值CB_IN、CR_IN接近,这样图像中一般像素(边缘较弱的像素)的色差信号就基本保证不受校正的影响。
当边缘很强时,即VAL_EDGE接近于TH_MAX,这时由公式(2)可知GAIN_C接近于0,又由公式(3)、(4)可知:调整后的色差信号值CB_OUT、CR_OUT接近于0,图像色彩得以完全消除,这样图像中处于边缘的像素的色彩信息会得到消弱直至完全消除,消除了图像边缘的伪彩色。
作为本发明提供的一种处理图像伪彩色的方法的另一实施例4,如图5所示,实施例4中矩阵建立步骤S51、边缘强度值计算步骤S52、边缘因数值计算步骤S53、调制因数值计算步骤S54同实施例3中矩阵建立步骤S41、边缘强度值计算步骤S42、边缘因数值计算步骤S43、调制因数值计算步骤S44实现的功能相同,计算出的数据也一样,故省略描述内容。
本实施例4中步骤S51和步骤S54之间进一步增加了边缘像素最大亮度值计算步骤S57,该边缘像素最大亮度值计算步骤S57基于图像矩阵对图像亮度信号值Y进行计算,得到边缘像素最大亮度值Y_MAX。
在步骤S54和S55之间进一步增加了第二调制因数值计算步骤S56:该第二调制因数值计算步骤S56对调制因数值GAIN_C和边缘像素最大亮度值Y_MAX进行计算,得到反映调制程度的第二调制因数值GAIN_C1。
边缘像素最大亮度值计算步骤S57基于3×3的图像矩阵计算边缘像素最大亮度值Y_MAX,如图3所示,该计算方法使用将要计算其边缘强度的那个像素点(目标像素点)及附近的八个周边像素的亮度信号Y11、Y12、Y13、Y21、Y22、Y23、Y31、Y32、Y33,边缘像素最大亮度值Y_MAX采用如下公式进行计算:
Y_MAX=max([Y11,Y12,Y13,Y21,Y22,Y23,Y31,Y32,Y33]);(5)
其中0≤Y_MAX≤255,如果计算结果超出255,让其等于255,在以上公式中,Y22表示目标像素点亮度值,取值范围为大于等于0,小于等于255;Y11、Y12、Y13、Y21、Y23、Y31、Y32、Y33表示目标像素点周边像素点亮度值,取值范围为大于等于0,小于等于255。
本实施例4中步骤S56以如下公式计算第二调制因数值GAIN_C1:
GAIN_C1=1-(Y_MAX/256)*(1-GAIN_C); (6)
其中GAIN_C1表示第二调制因数值,取值范围为大于等于0且小于等于1;
其中GAIN_C表示调制因数值,取值范围为大于等于0且小于等于1;
Y_MAX表示边缘像素最大亮度值,取值范围为大于0且小于等于255。
本实施例4中色差信号调制步骤S55以如下公式对输入色差信号CB_IN、CR_IN进行校正:
CB_OUT=CB_IN*GAIN_C1; (7)
CR_OUT=CR_IN*GAIN_C1; (8)
其中CB_IN表示蓝色色差输入信号值,CR_IN表示红色色差输入信号值,GAIN_C1表示第二调制因数值,CB_OUT表示蓝色色差输出信号值,CR_OUT表示红色色差输出信号值。
由处理图像伪彩色的方法实施例4中公式(6)、(7)、(8)可知:
当边缘很弱,即VAL_EDGE接近于TH_MIN,或边缘比较暗时,即Y_MAX很小,GAIN_C1接近于1,调整后的色差信号CB_OUT、CR_OUT与原来的色差信号CB_IN、CR_IN接近,这样图像中一般pixel(不处于边缘强度很大或亮度很高的边缘)的色彩信息就基本保证不受影响。
当边缘很强,即VAL_EDGE接近于TH_MAX,或边缘很亮,即Y_MAX接近256时,GAIN_C1接近于0,调整后的色差信号CB_OUT、CR_OUT接近于0,色彩完全消除,这样图像中处于边缘强度很强的亮边缘像素的色彩信息得到消弱直至完全消除,消除了图像边缘的伪彩色。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。