CN118317215A - 一种校正图像动态坏点的方法及装置 - Google Patents
一种校正图像动态坏点的方法及装置 Download PDFInfo
- Publication number
- CN118317215A CN118317215A CN202410470268.5A CN202410470268A CN118317215A CN 118317215 A CN118317215 A CN 118317215A CN 202410470268 A CN202410470268 A CN 202410470268A CN 118317215 A CN118317215 A CN 118317215A
- Authority
- CN
- China
- Prior art keywords
- pixel
- current target
- target pixel
- buff
- pixels
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000004364 calculation method Methods 0.000 claims abstract description 49
- 238000012937 correction Methods 0.000 claims abstract description 37
- 238000013138 pruning Methods 0.000 claims description 10
- 238000001514 detection method Methods 0.000 claims description 9
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 11
- 230000000694 effects Effects 0.000 abstract description 10
- 238000012545 processing Methods 0.000 abstract description 9
- 230000000007 visual effect Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
Landscapes
- Image Processing (AREA)
Abstract
本发明提供一种校正图像动态坏点的方法及装置,包括:获取Raw图像;以Raw图像中的当前目标像素为基准,提取5行缓存窗口;在缓存窗口内计算当前目标像素的同色像素均值;根据当前目标像素偏离同色像素均值的幅度,判断当前目标像素是否为坏点;若判断为坏点,则对当前目标像素进行校正。通过提取5行缓存窗口计算同色像素均值,根据当前目标像素偏离同色像素均值的幅度判断是否为坏点并校正,利用了更多的像素值来进行计算判断,使得计算结果更加准确,提高了动态坏点的识别精度;同色像素的计算能够保证图像的画面细节在处理过程中受到的影响较小,有效提高了图像的视觉质量,解决了如何提高动态坏点的识别精度和校正效果的问题。
Description
技术领域
本发明涉及图像处理技术领域,特别涉及一种校正图像动态坏点的方法及装置。
背景技术
图像传感器,是一种将光学图像转换成电子信号的设备,它被广泛地应用在数码相机和其他电子光学设备中。早期的图像传感器采用模拟信号,如摄像管;随着数码技术、半导体制造技术以及网络的迅速发展,目前常用的图像传感器产品主要分为CCD图像传感器、CMOS图像传感器两种。
CCD和CMOS的主要参数包括像元尺寸、灵敏度、坏点数和光谱响应等,其中坏点数是指芯片中的坏点(不能有效成像的像元或相应不一致性大于参数允许范围的像元)的数量,是衡量芯片质量的重要参数。但是由于受到制造工艺的限制,对于有几百万像素点的传感器而言,所有的像元都是好的情况几乎不太可能,因此不可避免地会在采集到的原始图像上产生一些坏点,此外,由于图像传感器硬件原因,在采集原始图像时还会随机地产生一些位置不固定的坏点,行业内将这种坏点称之为动态坏点。若不对这些坏点进行后期的校正处理,则这些坏点会因后续的去马赛克和各种图像滤波操作等向周围扩散形成带颜色的点簇,显著降低图像质量,影响观感。
动态坏点通常和图像传感器的温度及增益有关,且动态坏点在图像传感器采集的Raw图像上的位置不固定,因此需花费大量的硬件存储资源来对动态坏点进行判断和校正。然而现有的硬件设备通常采用两行的数据缓存窗口来实现去坏点,这种方式下动态坏点的识别精度和校正效果较差。
发明内容
本发明的目的在于提供一种校正图像动态坏点的方法及装置,以解决如何提高动态坏点的识别精度和校正效果的问题。
为解决上述技术问题,本发明提供一种校正图像动态坏点的方法,包括:
获取Raw图像;
以Raw图像中的当前目标像素为基准,提取5行缓存窗口;
在缓存窗口内,计算当前目标像素的同色像素均值;
根据当前目标像素偏离同色像素均值的幅度,判断当前目标像素是否为坏点;
若判断当前目标像素为坏点,则对当前目标像素进行校正。
可选的,在所述的校正图像动态坏点的方法中,以Raw图像中的当前目标像素为基准,提取5行7列的缓存窗口,所述缓存窗口中的像素记为buff(x,y),其中,x表示像素的行坐标,按行从左到右的顺序,x=0,1,……,4;y表示像素的列坐标,按列从上到下的顺序,y=0,1,……,6;
当前目标像素位于缓存窗口中的第3行第4列,为buff(2,3)。
可选的,在所述的校正图像动态坏点的方法中,所述计算当前目标像素的所有同色像素值的方法包括:
将buff(0,1)、buff(0,3)、buff(0,5)、buff(2,1)、buff(2,5)、buff(4,1)、buff(4,3)和buff(4,5)共8个同色像素组成一个数组,记为ArrayB[8];
将ArrayB中同色像素值按照从大到小的顺序排序,以得到数组SortArrayB;
去除数组SortArrayB中t个最大值和最小值,以得到更新后的数组ArrayCut,其中,t为可调参数,用于调节去除密集坏点的能力;
对数组ArrayCut中的同色像素进行均值计算,以得到当前目标像素剪枝后的同色像素均值AvgCrt。
可选的,在所述的校正图像动态坏点的方法中,所述根据当前目标像素偏离同色像素均值的幅度,判断当前目标像素是否为坏点的方法包括:
在缓存窗口内,提取1行3列的子窗口,其中,当前目标像素位于子窗口中的第2列;
计算子窗口中所有像素偏离同色像素均值的幅度;
根据所有像素偏离同色像素均值的幅度,判断当前目标像素是否为坏点。
可选的,在所述的校正图像动态坏点的方法中,所述计算子窗口中所有像素偏离同色像素均值的幅度的方法包括:
对于buff(2,2),将buff(0,0)、buff(0,2)、buff(2,0)、buff(4,0)和buff(4,2)共5个同色像素组成一个数组,记为ArrayNb1;
去除数组ArrayNb1中的最大值后,对剩下的4个同色像素求取同色像素均值,以得到第一均值AvgNbB1;
去除数组ArrayNb1中的最小值后,对剩下的4个同色像素求取同色像素均值,以得到第二均值AvgNbD1;
计算buff(2,2)偏离其同色像素均值的幅度:
AvgShiftB1=buff(2,2)–AvgNbB1
AvgShiftD1=buff(2,2)–AvgNbD1
对于buff(2,4),将buff(0,4)、buff(0,6)、buff(2,6)、buff(4,4)和buff(4,6)共5个同色像素组成一个数组,记为ArrayNb2;
去除数组ArrayNb2中的最大值后,对剩下的4个同色像素求取同色像素均值,以得到第一均值AvgNbB2;
去除数组ArrayNb2中的最小值后,对剩下的4个同色像素求取同色像素均值,以得到第二均值AvgNbD2;
计算buff(2,4)偏离其同色像素均值的幅度:
AvgShiftB2=buff(2,4)–AvgNbB2
AvgShiftD2=buff(2,4)–AvgNbD2
计算当前目标像素buff(2,3)偏离其同色像素均值的幅度:
AvgShiftCrt=buff(2,3)–AvgCrt。
可选的,在所述的校正图像动态坏点的方法中,所述根据所有像素偏离同色像素均值的幅度,判断当前目标像素是否为坏点的方法包括:
若当前目标像素的像素值大于当前目标像素剪枝后的同色像素均值的a1倍,则判断当前目标像素为亮坏点;
若当前目标像素的像素值小于当前目标像素剪枝后的同色像素均值的a2倍,则判断当前目标像素为暗坏点;
其中,a1和a2为可调参数,a1和a2的取值不为0,用于控制亮坏点和暗坏点的检测强度。
可选的,在所述的校正图像动态坏点的方法中,所述根据所有像素偏离同色像素均值的幅度,判断当前目标像素是否为坏点的方法还包括:
若当前目标像素的偏离同色像素值的幅度大于其左右相邻像素的偏离同色像素均值的幅度的b1倍,则判断当前目标像素为亮坏点;
若当前目标像素的偏离同色像素值的幅度小于其左右相邻像素的偏离同色像素均值的幅度的b2倍;
其中,b1和b2为可调参数,b1和b2的取值不为0,用于控制亮坏点和暗坏点的检测强度。
可选的,在所述的校正图像动态坏点的方法中,所述对当前目标像素进行校正的方法包括:
利用索贝尔算子计算当前目标像素在水平方向和竖直方向的梯度;
根据当前目标像素水平方向的梯度和竖直方向的梯度的大小关系,对当前目标像素进行动态坏点校正。
可选的,在所述的校正图像动态坏点的方法中,所述利用索贝尔算子计算当前中心像素在水平和竖直方向的梯度的方法包括:
在缓存窗口内,提取3行3列的校正窗口,其中,当前目标像素位于校正窗口中的第2行第2列;
利用第一索贝尔算子与校正窗口中的像素进行卷积计算,以得到当前目标像素在水平方向的梯度Gh;
利用第二索贝尔算子与校正窗口中的像素进行卷积计算,以得到当前目标像素在竖直方向的梯度Gv。
可选的,在所述的校正图像动态坏点的方法中,所述第一索贝尔算子为:
所述第二索贝尔算子为:
可选的,在所述的校正图像动态坏点的方法中,所述根据当前目标像素水平方向的梯度和竖直方向的梯度的大小关系,对当前目标像素进行动态坏点校正的方法包括:
当判断当前目标像素是亮坏点时,若当前目标像素的水平方向的梯度大于等于竖直方向的梯度,则选择buff(0,3)和buff(4,3)中的最大值替换当前目标像素,以对当前目标像素进行校正;否则,选择buff(2,1)和buff(2,5)中的最大值替换当前目标像素,以对当前目标像素进行校正;
当判断当前目标像素是暗坏点时,若当前目标像素的水平方向的梯度大于等于竖直方向的梯度,则选择buff(0,3)和buff(4,3)中的最小值替换当前目标像素,以对当前目标像素进行校正;否则,选择buff(2,1)和buff(2,5)中的最小值替换当前目标像素,以对当前目标像素进行校正。
为解决上述技术问题,本发明还提供一种校正图像动态坏点的装置,包括存储器、处理器及存储在存储器上并能够由所述处理器运行的可执行程序;所述处理器运行所述可执行程序时执行如上任一项所述的校正图像动态坏点的方法。
本发明提供的校正图像动态坏点的方法及装置,包括:获取Raw图像;以Raw图像中的当前目标像素为基准,提取5行缓存窗口;在缓存窗口内,计算当前目标像素的同色像素均值;根据当前目标像素偏离同色像素均值的幅度,判断当前目标像素是否为坏点;若判断当前目标像素为坏点,则对当前目标像素进行校正。通过以当前目标像素为基准提取5行缓存窗口来计算同色像素均值,根据当前目标像素偏离同色像素均值的幅度判断是否为坏点并进行校正,由于利用了更多的像素值来进行计算判断使得计算结果更加准确,提高了动态坏点的识别精度;而同色像素的计算能够保证图像的画面细节在处理过程中受到的影响较小,从而有效提高了图像的视觉质量,解决了如何提高动态坏点的识别精度和校正效果的问题。
附图说明
图1为本实施例提供的校正图像动态坏点的方法流程图;
图2为本实施例提供的RGB像素的排列方式示意图;
图3为本实施例提供的缓存窗口中各个像素的坐标示意图;
图4为本实施例提供的缓存窗口中中心为B像素时的各个像素的拜耳颜色排列示意图;
图5为本实施例提供的缓存窗口中中心为B像素时的当前目标像素的同色像素均值的计算示意图;
图6为本实施例提供的缓存窗口中提取子窗口的示意图;
图7为本实施例提供的子窗口中同色像素均值的计算示意图;
图8为本实施例提供的原始Raw图像;
图9为本实施例提供的通过校正图像动态坏点的方法校正后的图像。
具体实施方式
以下结合附图和具体实施例对本发明提出的校正图像动态坏点的方法及装置作进一步详细说明。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。此外,附图所展示的结构往往是实际结构的一部分。特别的,各附图需要展示的侧重点不同,有时会采用不同的比例。
需要说明的是,本发明的说明书和权利要求书及附图说明中的“第一”、“第二”等是用于区别类似的对象,以便描述本发明的实施例,而不用于描述特定的顺序或先后次序,应该理解这样使用的结构在适当情况下可以互换。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本实施例提供一种校正图像动态坏点的方法,如图1所示,包括:
S1,获取Raw图像;
S2,以Raw图像中的当前目标像素为基准,提取5行缓存窗口;
S3,在缓存窗口内,计算当前目标像素的所有同色像素均值;
S4,根据当前目标像素偏离同色像素均值的幅度,判断当前目标像素是否为坏点;
S5,若判断当前目标像素为坏点,则对当前目标像素进行校正。
本实施例提供的校正图像动态坏点的方法,通过以当前目标像素为基准提取5行缓存窗口来计算同色像素均值,根据当前目标像素偏离同色像素均值的幅度判断是否为坏点并进行校正,由于利用了更多的像素值来进行计算判断使得计算结果更加准确,提高了动态坏点的识别精度;而同色像素的计算能够保证图像的画面细节在处理过程中受到的影响较小,从而有效提高了图像的视觉质量,解决了如何提高动态坏点的识别精度和校正效果的问题。
具体的,在本实施例中,步骤S1,获取Raw图像的方法可以为从各类摄影摄像设备中获取原始图像。
Raw图像即为从数码相机、扫描器或电影胶片扫描仪等设备的图像传感器中获取的原始图像文件,Raw图像未被处理,因此具有宽色域的内部色彩,可以进行精确的调整。此外,Raw图像中,RGB像素(拜尔颜色)的排列具有一定的规律性,如图2所示,每行中的G间隔排列,且相邻行中的G交错排列;同一行中相邻的G全部被R或B所间隔开来,且相邻行中的R或B不同,即当第i行的G全部被R间隔开来时,第i-1行和第i+1行的G全部被B间隔开来。
进一步的,在本实施例中,步骤S2,以Raw图像中的当前目标像素为基准,提取5行缓存窗口,具体可以为:以Raw图像中的当前目标像素为中心,提取5行7列的缓存窗口,也就是说,当前目标像素位于缓存窗口中的第3行第4列。如图3所示,像素阵列中第一行第一列的像素位置记为(0,0),第i行第j列的像素位置记为(i-1,j-1),本实施例中的缓存窗口内的像素从坐标(0,0)开始至(4,6)结束,共包含35个像素,其中当前目标像素位于坐标(2,3)处,位于缓存窗口的中间行中间列位置。记像素在缓存窗口内为buff(x,y),其中,x表示像素的行坐标,按行从左到右的顺序,x=0,1,……,4,y=0,1,……,6,y表示像素的列坐标,按列从上到下的顺序,y=0,1,……,6,则当前目标像素为buff(2,3)。
当然,在实际应用中,若当前目标像素位于第一行或第一列,则可以通过拼接、倒置等方式,使得当前目标像素位于预设区域的中心位置。考虑到更实际的应用场景,通常图像边缘会被裁剪,因此也可以忽略Raw图像中最外围的像素,即不对无法位于预设区域中心处的像素进行处理。
从图2中可以看出,不论是G像素,还是R像素或B像素,在缓存窗口内都是间隔分布的,且对于G像素而言,第一行、第三行和第五行的排序一致,第二行和第四行的排序一致;对于B像素而言,第一行、第三行和第五行的排序一致;对于R像素而言,第二行和第四行的排序一致;列的分布也同理。因此,在本实施例提供的校正图像动态坏点的方法中,不需对当前目标像素是G还是R或B进行区分,都采用同样的方式进行同色像素均值的计算。
进一步的,在本实施例中,步骤S3,在缓存窗口内,计算当前目标像素的同色像素均值的方法包括:
S31,将buff(0,1)、buff(0,3)、buff(0,5)、buff(2,1)、buff(2,5)、buff(4,1)、buff(4,3)和buff(4,5)共8个同色像素组成一个数组,记为ArrayB[8];
S32,将ArrayB中同色像素值按照从大到小的顺序排序,以得到数组SortArrayB;
S33,去除数组SortArrayB中t个最大值和最小值,以得到更新后的数组ArrayCut,其中,t为可调参数,用于调节去除密集坏点的能力;
S34,对数组ArrayCut中的同色像素进行均值计算,以得到当前目标像素剪枝后的同色像素均值AvgCrt。
以当前目标像素为B像素为例,如图4和图5所示,在缓存窗口中,buff(0,1)、buff(0,3)、buff(0,5)、buff(2,1)、buff(2,5)、buff(4,1)、buff(4,3)和buff(4,5)(黑底下划线标识的像素)原本即为B像素,即为当前目标像素的同色像素,因此可以直接使用其像素值进行同色像素均值计算,省去了插值计算的计算量。同样的,当像素为G像素或B像素时,缓存窗口中的buff(0,1)、buff(0,3)、buff(0,5)、buff(2,1)、buff(2,5)、buff(4,1)、buff(4,3)和buff(4,5)原本即为G像素或B像素的同色像素,如此,当像素为G像素或B像素时,能够利用同样的计算方式进行计算,简化了计算过程,节省了硬件资源的占用。
需要说明的是,本实施例提供的同色像素均值计算的方式可以为平均值计算,也可以为根据同色像素与当前目标像素之间的距离而设置权重的加权平均值计算,本领域技术人员可以根据实际需求设定同色像素均值的计算方式。
以及,t的取值可以根据实际需要进行选取,例如当原始Raw图中坏点较少,则t可以取值为0,即不去除数组SortArrayB中的同色像素值;当然,t也可以取值为1或2等等,以去除数组SortArrayB中部分最大和最小的同色像素值。甚至,在一些具体实施例中,去除的最大值的数量和最小值的数量可以不同,例如当原始Raw图亮坏点比较密集而暗坏点较少时,可以去除较多的最大同色像素值,而不去除数组SortArrayB中的最小值等等,本申请对此不做限制。
由于本实施例考虑到在数组ArrayB中可能存在亮坏点或暗坏点的可能,因此,去除了数组中若干个最大值和最小值后再进行均值计算,可以有效提高均值计算的精度,避免亮坏点和暗坏点对均值计算的偏差影响。
进一步的,在本实施例中,步骤S4,根据当前目标像素偏离同色像素均值的幅度,判断当前目标像素是否为坏点的方法包括:
S41,在缓存窗口内,提取1行3列的子窗口,其中,当前目标像素位于子窗口中的第2列。
具体的,如图6所示,提取的1行3列的子窗口包括buff(2,2)(G像素)、buff(2,3)(当前目标像素,B像素)和buff(2,4)(G像素),即,当前目标像素位于子窗口的中间位置。当然,本领域技术人员可以理解的是,当当前目标像素为G时,对应子窗口中两侧的像素均为R像素或均为B像素;当当前目标像素为R时,对应子窗口中两侧的像素均为G像素,其具体的判断方式一致,相互参见即可。
S42,计算子窗口中所有像素偏离同色像素均值的幅度。
具体的,在本实施例中,计算子窗口中所有像素偏离同色像素均值的幅度的方法包括:
对于buff(2,2):如图7所示,将buff(0,0)、buff(0,2)、buff(2,0)、buff(4,0)和buff(4,2)共5个同色像素组成一个数组,记为ArrayNb1;去除数组ArrayNb1中的最大值后,对剩下的4个同色像素求取同色像素均值,以得到第一均值AvgNbB1;去除数组ArrayNb1中的最小值后,对剩下的4个同色像素求取同色像素均值,以得到第二均值AvgNbD1;计算buff(2,2)偏离其同色像素均值的幅度:
AvgShiftB1=buff(2,2)–AvgNbB1
AvgShiftD1=buff(2,2)–AvgNbD1
从图7可以看出,选择的同色像素均位于缓存窗口中buff(2,2)的同侧(左侧),且与buff(2,2)都为G像素,因此可以直接用这些同色像素的像素值进行计算,降低了计算的复杂度,节省了硬件资源的占用;而且这些像素所在行列的像素排布方式与当前目标像素所在行列的像素排布方式相同,从而保证了其他像素对数组中的像素的影响一致,提高了同色像素均值计算的准确性。
同理,对于buff(2,4):将buff(0,4)、buff(0,6)、buff(2,6)、buff(4,4)和buff(4,6)共5个同色像素组成一个数组(与buff(2,4)同侧的同色像素),记为ArrayNb2;去除数组ArrayNb2中的最大值后,对剩下的4个同色像素求取同色像素均值,以得到第一均值AvgNbB2;去除数组ArrayNb2中的最小值后,对剩下的4个同色像素求取同色像素均值,以得到第二均值AvgNbD2;计算buff(2,4)偏离其同色像素均值的幅度:
AvgShiftB2=buff(2,4)–AvgNbB2
AvgShiftD2=buff(2,4)–AvgNbD2。
对于当前目标像素buff(2,3):由于在步骤S3中已经获得了当前目标像素剪枝后的同色像素均值AvgCrt,因此此处只需利用当前目标像素的同色像素均值AvgCrt计算当前目标像素buff(2,3)偏离其同色像素均值的幅度即可:
AvgShiftCrt=buff(2,3)–AvgCrt。
在本实施例中,由于在进行同色像素均值的求取过程中剔除了数组中的最大值和最小值,从而可以保证在数组中存在亮坏点或暗坏点时,求取的同色像素均值不受坏点的影响,提高了计算的准确性。
S43,根据所有像素偏离同色像素均值的幅度,判断当前目标像素是否为坏点。
具体的,在本实施例中,判断当前目标像素是否为坏点的方法包括:
若当前目标像素的像素值大于当前目标像素剪枝后的同色像素均值的a1倍,则判断当前目标像素为亮坏点;
若当前目标像素的像素值小于当前目标像素剪枝后的同色像素均值的a2倍,则判断当前目标像素为暗坏点;
其中,a1和a2为可调参数,a1和a2的取值不为0,用于控制亮坏点和暗坏点的检测强度。
将这一判断规则记为判断规则A,该规则主要利用缓存窗口内同色像素均值来判断当前目标像素是否为坏点。
在一具体实施例中,判断规则A可以表示为:
若buff(2,3)>(1+m1b)×AvgCrt,则判断当前目标像素为亮坏点;
若buff(2,3)<(1-m1d)×AvgCrt,则判断当前目标像素为暗坏点;
其中,m1b和m1d为可调参数,用于控制亮坏点和暗坏点的检测强度;此时,a1=1+m1b,a2=1-m1d。
较佳的,在本实施例中,判断当前目标像素是否为坏点的方法还包括:
若当前目标像素的偏离同色像素值的幅度大于其左右相邻像素的偏离同色像素均值的幅度的b1倍,则判断当前目标像素为亮坏点;
若当前目标像素的偏离同色像素值的幅度小于其左右相邻像素的偏离同色像素均值的幅度的b2倍,则判断当前目标像素为暗坏点;
其中,b1和b2为可调参数,b1和b2的取值不为0,用于控制亮坏点和暗坏点的检测强度。
将这一判断规则记为判断规则B,该规则主要利用当前目标像素偏离同色像素均值的幅度是否明显大于左右相邻像素偏离各自同色像素均值的幅度来判断当前目标像素是否为坏点。
在一具体实施例中,判断规则B可以表示为:
若AvgShiftCrt>m2b×max(AvgShiftB1,AvgShiftB2),则判断当前目标像素为亮坏点;
若AvgShiftCrt<m2d×min(AvgShiftD1,AvgShiftD2),则判断当前目标像素为暗坏点;
其中,min()表示求最小值计算,max()表示求最大值计算,m2b和m2d为可调参数,用于控制亮坏点和暗坏点的检测强度;此时,b1=m2b,b2=m2d。
由于在本实施例中,计算同色像素均值时都做了剪枝处理,即剔除了计算过程中选用的数组中的最大值和最小值,从而能够有效避免因选择的数组中可能存在亮坏点或暗坏点而对计算结果产生的不利影响,提高了计算的准确度和可信度。同时,由于剔除了部分数据,使得计算采用的数据较少,从而有效提高了计算效率,节省了硬件资源的占用。
在实际应用中,上述两种坏点的判断方式可以选择其一进行判断,但择其一判断的方式会导致很多正常像素被误判为坏点进行处理,不仅降低了校正的准确性,影响最终输出的图像质量,还增加了校正的计算量。
因此,为了确保坏点判断的准确性,在本实施例中,设定若判断条件A和B均满足,则认为当前目标像素为坏点,否则当前目标像素不是坏点。如此,能够在保证坏点校正的准确度的同时,减少校正计算量,从而提高校正速度。
本实施例通过设置坏点的判断规则,从而能够简单、快速地判断出当前目标像素是否为坏点,进而在保证坏点判断精度的同时,使得计算过程相对简单,降低了硬件存储资源的占用。
进一步的,在本实施例中,步骤S5,若判断当前目标像素为坏点,则对当前目标像素进行校正的方法包括:
S51,利用索贝尔算子计算当前目标像素在水平方向和竖直方向的梯度。
具体的,在本实施例中,利用索贝尔算子计算当前中心像素在水平和竖直方向的梯度的方法包括:
首先,在缓存窗口内,提取3行3列的校正窗口,其中,当前目标像素位于校正窗口中的第2行第2列。也就是说,将buff(1,2)、buff(1,3)、buff(1,4)、buff(2,2)、buff(2(3)、buff(2,4)、buff(3,2)、buff(3,3)和buff(3,4)共9个像素提取出来作为校正窗口。
然后,利用第一索贝尔算子与校正窗口中的像素进行卷积计算,以得到当前目标像素在水平方向的梯度Gh;以及,利用第二索贝尔算子与校正窗口中的像素进行卷积计算,以得到当前目标像素在竖直方向的梯度Gv。
在本实施例中,所述第一索贝尔算子为:
因此,水平方向的梯度的计算公式可以表示为:
Gh=abs(buff(1,2)+2×buff(2,2)+buff(3,2)-buff(1,4)-2×buff(2,4)-buff(3,4))
所述第二索贝尔算子为:
因此,竖直方向的梯度的计算公式可以表示为:
Gv=abs(buff(1,2)+2×buff(1,3)+buff(1,4)-buff(3,2)-2×buff(3,3)-buff(3,4))
其中,abs()表示绝对值计算。
索贝尔算子是计算机视觉领域的一种重要处理方法,主要用于获得数字图像的一阶梯度。索贝尔算子不但能够产生较好的检测效果,而且对噪声具有平滑抑制作用,能够有效进行边缘检测。
S52,根据当前目标像素水平方向的梯度和竖直方向的梯度的大小关系,对当前目标像素进行动态坏点校正。
具体的,在本实施例中,当判断当前目标像素是亮坏点时,若当前目标像素的水平方向的梯度大于等于竖直方向的梯度,则选择buff(0,3)和buff(4,3)中的最大值替换当前目标像素,以对当前目标像素进行校正;否则,选择buff(2,1)和buff(2,5)中的最大值替换当前目标像素,以对当前目标像素进行校正。
以及,当判断当前目标像素是暗坏点时,若当前目标像素的水平方向的梯度大于等于竖直方向的梯度,则选择buff(0,3)和buff(4,3)中的最小值替换当前目标像素,以对当前目标像素进行校正;否则,选择buff(2,1)和buff(2,5)中的最小值替换当前目标像素,以对当前目标像素进行校正。
由于在本实施例选取的缓存窗口中,当前目标像素的同色像素呈中心对称分布,因此,为了有效提高坏点校正的效果,确认选取哪一替代值进行替代校正,选择了将水平梯度和竖直梯度进行对比的方式。如此,当水平梯度较大时,选择当前目标像素同列且上下两行的同色像素值进行校正;而当竖直梯度较大时,选择当前目标像素同行且左右两列的同色像素值进行校正。同时由于选取的用于替代的同色像素与当前目标像素距离较近,因此能够保证图像的画面细节在处理过程中受到的影响较小,从而有效提高了图像的视觉质量,解决了如何提高动态坏点的识别精度和校正效果的问题。
为证明本实施例提供的校正图像动态坏点的方法在校正图像动态坏点的有效性,本实施例对校准chart图进行拍照,获取原始Raw图像如图8所示。在对图8所示的原始Raw图像经过本实施例提供的校正图像动态坏点的方法校正处理后,得到的图像如图9所示。通过对图8和图9进行对比,可以看出,图8中的坏点在图9中已不存在,即被正确校正,且图9中的校准chart图无明显缺失、畸形等质量异常。当然,利用分析软件等手段,对图8和图9进行专业分析后可以更为精准地得出,本实施例提供的校正图像动态坏点的方法能够有效减少原始Raw图像中的坏点,即能够有效提高图像质量。
本实施例还提供一种校正图像动态坏点的装置,包括存储器、处理器及存储在存储器上并能够由所述处理器运行的可执行程序;所述处理器运行所述可执行程序时执行如上所述的校正图像动态坏点的方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可,此外,各个实施例之间不同的部分也可互相组合使用,本发明对此不作限定。
本实施例提供的校正图像动态坏点的方法及装置,包括:获取Raw图像;以Raw图像中的当前目标像素为基准,提取5行缓存窗口;在缓存窗口内,计算当前目标像素的同色像素均值;根据当前目标像素偏离同色像素均值的幅度,判断当前目标像素是否为坏点;若判断当前目标像素为坏点,则对当前目标像素进行校正。通过以当前目标像素为基准提取5行缓存窗口来计算同色像素均值,根据当前目标像素偏离同色像素均值的幅度判断是否为坏点并进行校正,由于利用了更多的像素值来进行计算判断使得计算结果更加准确,提高了动态坏点的识别精度;而同色像素的计算能够保证图像的画面细节在处理过程中受到的影响较小,从而有效提高了图像的视觉质量,解决了如何提高动态坏点的识别精度和校正效果的问题。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
Claims (12)
1.一种校正图像动态坏点的方法,其特征在于,包括:
获取Raw图像;
以Raw图像中的当前目标像素为基准,提取5行缓存窗口;
在缓存窗口内,计算当前目标像素的同色像素均值;
根据当前目标像素偏离同色像素均值的幅度,判断当前目标像素是否为坏点;
若判断当前目标像素为坏点,则对当前目标像素进行校正。
2.根据权利要求1所述的校正图像动态坏点的方法,其特征在于,以Raw图像中的当前目标像素为基准,提取5行7列的缓存窗口,所述缓存窗口中的像素记为buff(x,y),其中,x表示像素的行坐标,按行从左到右的顺序,
x=0,1,……,4;y表示像素的列坐标,按列从上到下的顺序,y=0,1,……,6;
当前目标像素位于缓存窗口中的第3行第4列,为buff(2,3)。
3.根据权利要求2所述的校正图像动态坏点的方法,其特征在于,所述计算当前目标像素的所有同色像素值的方法包括:
将buff(0,1)、buff(0,3)、buff(0,5)、buff(2,1)、buff(2,5)、buff(4,1)、buff(4,3)和buff(4,5)共8个同色像素组成一个数组,记为ArrayB[8];
将ArrayB中同色像素值按照从大到小的顺序排序,以得到数组SortArrayB;
去除数组SortArrayB中t个最大值和最小值,以得到更新后的数组ArrayCut,其中,t为可调参数,用于调节去除密集坏点的能力;
对数组ArrayCut中的同色像素进行均值计算,以得到当前目标像素剪枝后的同色像素均值AvgCrt。
4.根据权利要求3所述的校正图像动态坏点的方法,其特征在于,所述根据当前目标像素偏离同色像素均值的幅度,判断当前目标像素是否为坏点的方法包括:
在缓存窗口内,提取1行3列的子窗口,其中,当前目标像素位于子窗口中的第2列;
计算子窗口中所有像素偏离同色像素均值的幅度;
根据所有像素偏离同色像素均值的幅度,判断当前目标像素是否为坏点。
5.根据权利要求4所述的校正图像动态坏点的方法,其特征在于,所述计算子窗口中所有像素偏离同色像素均值的幅度的方法包括:
对于buff(2,2),将buff(0,0)、buff(0,2)、buff(2,0)、buff(4,0)和buff(4,2)共5个同色像素组成一个数组,记为ArrayNb1;
去除数组ArrayNb1中的最大值后,对剩下的4个同色像素求取同色像素均值,以得到第一均值AvgNbB1;
去除数组ArrayNb1中的最小值后,对剩下的4个同色像素求取同色像素均值,以得到第二均值AvgNbD1;
计算buff(2,2)偏离其同色像素均值的幅度:
AvgShiftB1=buff(2,2)–AvgNbB1
AvgShiftD1=buff(2,2)–AvgNbD1
对于buff(2,4),将buff(0,4)、buff(0,6)、buff(2,6)、buff(4,4)和buff(4,6)共5个同色像素组成一个数组,记为ArrayNb2;
去除数组ArrayNb2中的最大值后,对剩下的4个同色像素求取同色像素均值,以得到第一均值AvgNbB2;
去除数组ArrayNb2中的最小值后,对剩下的4个同色像素求取同色像素均值,以得到第二均值AvgNbD2;
计算buff(2,4)偏离其同色像素均值的幅度:
AvgShiftB2=buff(2,4)–AvgNbB2
AvgShiftD2=buff(2,4)–AvgNbD2
计算当前目标像素buff(2,3)偏离其同色像素均值的幅度:
AvgShiftCrt=buff(2,3)–AvgCrt。
6.根据权利要求4所述的校正图像动态坏点的方法,其特征在于,所述根据所有像素偏离同色像素均值的幅度,判断当前目标像素是否为坏点的方法包括:
若当前目标像素的像素值大于当前目标像素剪枝后的同色像素均值的a1倍,则判断当前目标像素为亮坏点;
若当前目标像素的像素值小于当前目标像素剪枝后的同色像素均值的a2倍,则判断当前目标像素为暗坏点;
其中,a1和a2为可调参数,a1和a2的取值不为0,用于控制亮坏点和暗坏点的检测强度。
7.根据权利要求5所述的校正图像动态坏点的方法,其特征在于,所述根据所有像素偏离同色像素均值的幅度,判断当前目标像素是否为坏点的方法还包括:
若当前目标像素的偏离同色像素值的幅度大于其左右相邻像素的偏离同色像素均值的幅度的b1倍,则判断当前目标像素为亮坏点;
若当前目标像素的偏离同色像素值的幅度小于其左右相邻像素的偏离同色像素均值的幅度的b2倍,则判断当前目标像素为暗坏点;
其中,b1和b2为可调参数,b1和b2的取值不为0,用于控制亮坏点和暗坏点的检测强度。
8.根据权利要求2所述的校正图像动态坏点的方法,其特征在于,所述对当前目标像素进行校正的方法包括:
利用索贝尔算子计算当前目标像素在水平方向和竖直方向的梯度;
根据当前目标像素水平方向的梯度和竖直方向的梯度的大小关系,对当前目标像素进行动态坏点校正。
9.根据权利要求8所述的校正图像动态坏点的方法,其特征在于,所述利用索贝尔算子计算当前中心像素在水平和竖直方向的梯度的方法包括:
在缓存窗口内,提取3行3列的校正窗口,其中,当前目标像素位于校正窗口中的第2行第2列;
利用第一索贝尔算子与校正窗口中的像素进行卷积计算,以得到当前目标像素在水平方向的梯度Gh;
利用第二索贝尔算子与校正窗口中的像素进行卷积计算,以得到当前目标像素在竖直方向的梯度Gv。
10.根据权利要求9所述的校正图像动态坏点的方法,其特征在于,所述第一索贝尔算子为:
所述第二索贝尔算子为:
11.根据权利要求8所述的校正图像动态坏点的方法,其特征在于,所述根据当前目标像素水平方向的梯度和竖直方向的梯度的大小关系,对当前目标像素进行动态坏点校正的方法包括:
当判断当前目标像素是亮坏点时,若当前目标像素的水平方向的梯度大于等于竖直方向的梯度,则选择buff(0,3)和buff(4,3)中的最大值替换当前目标像素,以对当前目标像素进行校正;否则,选择buff(2,1)和buff(2,5)中的最大值替换当前目标像素,以对当前目标像素进行校正;
当判断当前目标像素是暗坏点时,若当前目标像素的水平方向的梯度大于等于竖直方向的梯度,则选择buff(0,3)和buff(4,3)中的最小值替换当前目标像素,以对当前目标像素进行校正;否则,选择buff(2,1)和buff(2,5)中的最小值替换当前目标像素,以对当前目标像素进行校正。
12.一种校正图像动态坏点的装置,其特征在于,包括存储器、处理器及存储在存储器上并能够由所述处理器运行的可执行程序;所述处理器运行所述可执行程序时执行如权利要求1~11任一项所述的校正图像动态坏点的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410470268.5A CN118317215A (zh) | 2024-04-18 | 2024-04-18 | 一种校正图像动态坏点的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410470268.5A CN118317215A (zh) | 2024-04-18 | 2024-04-18 | 一种校正图像动态坏点的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118317215A true CN118317215A (zh) | 2024-07-09 |
Family
ID=91720516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410470268.5A Pending CN118317215A (zh) | 2024-04-18 | 2024-04-18 | 一种校正图像动态坏点的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118317215A (zh) |
-
2024
- 2024-04-18 CN CN202410470268.5A patent/CN118317215A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020253827A1 (zh) | 评估图像采集精度的方法及装置、电子设备和存储介质 | |
CN110519585B (zh) | 一种应用于图像采集设备的成像校准方法及装置 | |
US7544919B2 (en) | Focus assist system and method | |
US10931901B2 (en) | Method and apparatus for selectively correcting fixed pattern noise based on pixel difference values of infrared images | |
CN103369347A (zh) | 相机瑕疵缺陷检测 | |
JP2008160730A (ja) | 信号ムラを修正する画像処理装置、較正方法、撮像装置、画像処理プログラム、および画像処理方法 | |
JP4769764B2 (ja) | ポイントをシステムに入力する入力方法、設定方法、校正方法 | |
JP2018029251A (ja) | 検査装置、検査方法、およびプログラム | |
JP2018029250A (ja) | 信号処理装置、信号処理方法、およびプログラム | |
US10210605B2 (en) | Method and device for detecting boundary of region on display motherboard | |
CN111179184B (zh) | 基于随机抽样一致性的鱼眼图像有效区域提取方法 | |
WO2015158024A1 (zh) | 图像处理方法、装置和自动光学检测机 | |
US11356616B2 (en) | Image processing device, image capturing device, control method of image processing device, control method of image capturing device, and storage medium | |
KR101583423B1 (ko) | 카메라에서 촬영된 영상의 왜곡을 보정하기 위한 영상 왜곡 보정 방법 | |
KR20200106854A (ko) | 픽셀 교정 | |
KR100645634B1 (ko) | 렌즈 쉐이딩 자동 보정방법 및 장치 | |
CN107454388A (zh) | 图像处理方法以及使用该方法的装置 | |
CN118317215A (zh) | 一种校正图像动态坏点的方法及装置 | |
CN116506591A (zh) | 摄像头解析力测试时的刀口位置获取方法及系统 | |
CN118317212A (zh) | 一种校正图像动态坏点的方法及装置 | |
JP2005309651A (ja) | 撮像素子および撮像装置のシェーディング処理装置、およびシェーディング処理方法 | |
CN118317213A (zh) | 一种校正图像动态坏点的方法及装置、计算机存储介质 | |
CN118317214A (zh) | 一种校正图像动态坏点的方法及装置 | |
CN111435080B (zh) | 一种水位测量方法、装置及系统 | |
JP3127598B2 (ja) | 画像中の濃度変動構成画素抽出方法および濃度変動塊判定方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |