发明内容
本发明解决的技术问题为,现有技术中采用不区分边缘的暗边缘与亮边缘的处理方式进行边缘增强处理,从而只能对边缘之间的差叠加相同的增强系数,导致图像边缘的锐利度较难控制。
为解决所述技术问题,本发明所提供的技术方案为,一种图像边缘增强方法,包括如下步骤:
以YUV图像数据中的增强点为中心像素点建立3x3亮度值矩阵;
计算中心像素点在不同方向上的亮度梯度值;
根据中心像素点在不同方向上的亮度梯度值判断其所处的边缘为亮边缘还是暗边缘;
根据中心像素点在不同方向上的亮度梯度值判断其边缘走向;
根据中心像素点的边缘走向及其所处的边缘类型对图像数据进行边缘增强处理。
为解决所述技术问题,本发明还提供了一种边缘增强装置,包括:
以YUV图像数据中的增强点为中心像素点建立3x3亮度值矩阵的邻域创建单元;
与所述邻域创建单元的输出端相连,根据上述3x3亮度值矩阵计算中心像素点在不同方向上的亮度梯度值的梯度计算单元;
与所述梯度计算单元的输出端相连,根据中心像素点在不同方向上的亮度梯度值判断其所处的边缘为亮边缘还是暗边缘的边缘类型计算单元;
与所述梯度计算单元的输出端相连,根据中心像素点在不同方向上的亮度梯度值判断其边缘走向的边缘走向计算单元;
根据中心像素点的边缘走向及其所处的边缘类型对该中心像素点亮度值进行边缘增强处理的边缘增强单元。
本发明采用将边缘分离成暗部边缘与亮部边缘的处理方式,可以对暗部边缘与亮部边缘分开处理,从而可以叠加不同的增强分量(当然也可以叠加相同的增强分量),控制调节起来十分灵活方便,从而达到既可以增强边缘的明暗对比度,使边缘看起来更锐利,同时避免因增强了边缘而造成的边缘过渡失真的效果。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图像数据在传输的过程中并不是像我们所看到的那样一整幅传输的而是用时钟一个像素一个像素的传输的。当图像数据经过一系列处理由初始数据(一般为RGB形式)转换称YCbCR形式时,一个时钟打出代表一个像素信息的数据,这些数据信息通过Y、Cb、CR三个通道来打出,其中Y包含的是亮度信息,Cb、Cr包含的是色彩信息,经过图像传感器采集到的RGB图像数据转换为YCbCR数据的公式如下:
Y=0.299R+0.587G+0.114B (1)
Cb=-0.1687R-0.3313G+0.5B (2)
Cr=0.5R-0.4187G-0.0813B (3)
由(1)(2)(3)可知当R,G,B变化相同时,Cb,Cr不变化,只有Y变化,可见在边缘上的变化主要体现为Y即亮度上的变化,而色彩上的变化可以忽略不计。这也给我们的处理提供了依据,在处理边缘时就只要考虑Y的变化即可。本发明对图像数据进行边缘增强处理,为基于经初始数据(一般为RGB形式)转换为YCbCR形式数据的亮度值Y进行的。
如图1所示,本发明实施所提供的一种图像边缘增强方法,包括如下步骤:
步骤S101,以YUV图像数据中的增强点为中心像素点建立3x3亮度值矩阵;
步骤S102,计算中心像素点在不同方向上的亮度梯度值;
步骤S103,根据中心像素点在不同方向上的亮度梯度值判断其所处的边缘为亮边缘还是暗边缘;
步骤S104,根据中心像素点在不同方向上的亮度梯度值判断其边缘走向;
步骤S105,根据中心像素点的边缘走向及其所处的边缘类型对图像数据进行边缘增强处理。
上述3x 3亮度值矩阵如图2所示,其中各点的亮度值分别以Y11、Y12、Y13、Y21、Y22、Y23、Y31、Y32、Y33表示。
计算中心像素点在不同方向上的亮度梯度值的具体步骤为:分别计算出所述3x3矩阵各行各列的亮度值之和,
矩阵第一行的亮度值之和记为Y_H1_SUM,则有:
Y_H1_SUM=Y11+Y12+Y13
矩阵第二行的亮度值之和记为Y_H2_SUM,则有:
Y_H2_SUM=Y21+Y22+Y23
矩阵第三行的亮度值之和记为Y_H2_SUM,则有:
Y_H3_SUM=Y31+Y32+Y33
矩阵第一列的亮度值之和记为Y_H1_SUM,则有:
Y_V1_SUM=Y11+Y21+Y31
矩阵第二列的亮度值之和记为Y_H1_SUM,则有:
Y_V2_SUM=Y12+Y22+Y32
矩阵第三列的亮度值之和记为Y_H1_SUM,则有:
Y_V3_SUM=Y13+Y23+Y33
将第二行的亮度值之和Y_H2_SUM减去第一行的亮度值之和Y_H1_SUM,所得的差记为第一水平亮度梯度值ΔH21,则有:
ΔH21=Y_H2_SUM-Y_H1_SUM
将第二行的亮度值之和Y_H2_SUM减去第三行的亮度值之和Y_H3_SUM,所得的差记为第二水平亮度梯度值ΔH23,则有:
ΔH23=Y_H2_SUM-Y_H3_SUM
将第二列的亮度值之和Y_V2_SUM减去第一列Y_V1_SUM的亮度值之和,所得的差记为第一垂直亮度梯度值ΔV21,则有:
ΔV21=Y_V2_SUM-Y_V1_SUM
将第二列的亮度值之和Y_V2_SUM减去第三列的亮度值之和Y_V3_SUM,所得的差记为第二垂直亮度梯度值,则有:
ΔV23=Y_V2_SUM-Y_V3_SUM。
根据中心像素点在不同方向上的亮度梯度值判断其所处的边缘为亮边缘还是暗边缘的步骤具体为:
将所述第一水平亮度梯度值ΔH21和第二水平亮度梯度值ΔH23的绝对值进行比较,若其中绝对值较大的一个为负数,则认为中心像素点处于暗边缘;若其中绝对值较大的一个为正数,则认为中心像素点处于亮边缘;
将所述第一垂直亮度梯度值ΔV21和第二垂直水平亮度梯度值ΔV23的绝对值进行比较,若其中绝对值较大的一个为负数,则认为中心像素点处于暗边缘;若其中绝对值较大的一个为正数,则认为中心像素点处于亮边缘。
根据中心像素点在不同方向上的亮度梯度值判断其边缘走向的具体步骤为:
取第一水平亮度梯度值ΔH21和第二水平亮度梯度值ΔH23中绝对值较大的值的为水平梯度最大值ΔHmax;取第一垂直亮度梯度值ΔV21和第二垂直亮度梯度值ΔV23中绝对值较大的值为垂直梯度最大值ΔVmax;
将水平梯度最大值的绝对值|ΔHmax|与垂直梯度最大值的绝对值|ΔVmax|进行比较,若水平梯度最大值的绝对值大,则中心像素点处于水平方向;垂直梯度最大值的绝对值大,则中心像素点处于垂直方向。
根据中心像素点的边缘走向及其所处的边缘类型对该中心像素点进行边缘增强的具体步骤为:
当判断中心像素点处于水平边缘走向,且位于亮边缘时,为增加控制的灵活性,防止对噪点的增强,以及对非边缘上点的误操作,将水平梯度最大值的绝对值|ΔHmax|与预设的可调增强阈值Regist1进行比较,若水平梯度最大值的绝对值小于增强阈值,则不做处理;若水平梯度最大值的绝对值|ΔHmax|大于增强阈值Regist1,则将水平梯度最大值的绝对值乘以一第一增强系数α,增强系数α可根据实际情况进行修改,进而得出增强后的中心像素点的亮度值Y22_EH;
当ΔHmax为ΔH21时具体计算为:
α*ΔHmax=Y_H2_EH_SUM-Y_H1_SUM (4)
Y_H1_SUM=Y11+Y12+Y13 (5)
Y_H2_EH_SUM=Y21+Y22_EH+Y23 (6)
将式(5)、(6)代入(4)可得:
Y22_EH=Y11+Y12+Y13+α*ΔHmax-(Y21+Y23) (7)
当ΔHmax为ΔH23时具体计算为:
α*ΔHmax=Y_H2_EH_SUM-Y_H3_SUM (8)
Y_H3_SUM=Y31+Y32+Y33 (9)
Y_H2_EH_SUM=Y21+Y22_EH+Y23 (10)
将式(8)、(9)代入(10)可得:
Y22_EH=Y31+Y32+Y33+α*ΔHmax-(Y21+Y23) (11)
在本发明实施例中,Y22_EH的取值范围在(0,255),所以如果Y22_EH小于0则取0,大于255则取255,其余取Y22_EH原值,Y22处在亮边缘,ΔHmax为正,由式(7)可知经过计算后,处于边沿较亮一侧的Y22点的值将变得更大,也就是亮的变得更亮了,达到了增强亮边沿的目的。
当判断中心像素点处于水平边缘走向,且位于暗边缘时,将水平梯度最大值的绝对值与预设的增强阈值进行比较,若水平梯度最大值的绝对值小于增强阈值,则不做处理;若水平梯度最大值的绝对值大于增强阈值,则将水平梯度最大值的绝对值乘以一第二增强系数,进而得出增强后的中心像素点的亮度值;具体计算与当判断中心像素点处于水平边缘走向,且位于亮边缘时类似,在此不再赘述。
当判断中心像素点处于垂直边缘走向,且位于亮边缘时,将垂直梯度最大值的绝对值与预设的增强阈值进行比较,若垂直梯度最大值的绝对值小于增强阈值,则不做处理;若垂直梯度最大值的绝对值大于增强阈值,则将垂直梯度最大值的绝对值乘以一第三增强系数,进而得出增强后的中心像素点的亮度值;具体计算与当判断中心像素点处于水平边缘走向,且位于亮边缘时类似,在此不再赘述。
当判断中心像素点处于垂直边缘走向,且位于暗边缘时,将垂直梯度最大值的绝对值与预设的增强阈值进行比较,若垂直梯度最大值的绝对值小于增强阈值,则不做处理;若垂直梯度最大值的绝对值大于增强阈值,则将垂直梯度最大值的绝对值乘以一第四增强系数,进而得出增强后的中心像素点的亮度值;具体计算与当判断中心像素点处于水平边缘走向,且位于亮边缘时类似,在此不再赘述。
图3示出了本发明实施例提供图像边缘增强***框图,为了便于说明,仅示出了与本发明实施例相关的部分。该图像色彩饱和度调节***可以是软件单元、硬件单元或者软硬件结合的单元。
本发明实施例提供的图像边缘增强***包括:
以YUV图像数据中的增强点为中心像素点建立3x3亮度值矩阵的邻域创建单元;
与所述邻域创建单元的输出端相连,根据上述3x3矩阵计算中心像素点在不同方向上的亮度梯度值的梯度计算单元;
与所述梯度计算单元的输出端相连,根据中心像素点在不同方向上的亮度梯度值判断其所处的边缘为亮边缘还是暗边缘的边缘类型计算单元;
与所述梯度计算单元的输出端相连,根据中心像素点在不同方向上的亮度梯度值判断其边缘走向的边缘走向计算单元;
根据中心像素点的边缘走向及其所处的边缘类型对该中心像素点亮度值进行边缘增强处理的边缘增强单元;
本发明采用将边缘分离成暗部边缘与亮部边缘的处理方式,可以对暗部边缘与亮部边缘分开处理,从而可以叠加不同的增强分量(当然也可以叠加相同的增强分量),控制调节起来十分灵活方便,从而达到既可以增强边缘的明暗对比度,使边缘看起来更锐利,同时避免因增强了边缘而造成的边缘过渡失真的效果。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。