CN107016670B - 一种图像坏点检测方法和装置 - Google Patents
一种图像坏点检测方法和装置 Download PDFInfo
- Publication number
- CN107016670B CN107016670B CN201710188593.2A CN201710188593A CN107016670B CN 107016670 B CN107016670 B CN 107016670B CN 201710188593 A CN201710188593 A CN 201710188593A CN 107016670 B CN107016670 B CN 107016670B
- Authority
- CN
- China
- Prior art keywords
- pixel
- value
- point
- difference
- current
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
- G06T7/0008—Industrial image inspection checking presence/absence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30121—CRT, LCD or plasma display
Abstract
本发明公开了一种图像坏点检测方法和装置,所述方法针对bayer格式的图像进行坏点检测,根据当前像素点的位置以及与周围像素点的对应关系,计算第一梯度值、第二梯度值和第三梯度值,并通过比较三者之间的关系,来判断当前像素点是否是疑似坏点。由于是基于图像上坏点属性来查找坏点的,相较于现有的坏点检测方法,缩小了硬件面积。同时对图像上的像素点逐一排查,有利于发现更多的疑似坏点,进而在疑似坏点中进行排查,有效提高坏点检测的效率。
Description
技术领域
本发明涉及图像处理领域,特别涉及一种图像坏点检测方法和装置。
背景技术
随着科学技术的进步,现有的摄像头传感器的分辨率不断增加。以前的坏点检测算法,主要是针对中小分辨率的传感器的坏点检测,对于分辨率高的传感器而言,很多算法坏点检测速度慢,无法做到在线检测。同时,现有的坏点检测方法(如基于LUT的方法)需要占用MEM、消耗芯片面积,随着ISP输入分辨率的不断提高,其面积消耗成几十倍上升。同时,随着生活水平的提高,人们对图像质量有了更高的要求,用户的眼睛对一张图片上有突出的亮点或者暗点是非常敏感的,图像上的坏点将直接影响到用户的感官体验。
发明内容
为此,需要提供一种图像坏点检测的技术方案,用以解决现有的坏点检测算法芯片消耗面积、坏点检测率低、无法满足大分辨率的传感器需求等问题。
为实现上述目的,发明人提供了一种图像坏点检测方法,所述图像为bayer格式图像,像素点的像素通道包括Gr通道、Gb通道、B通道和R通道,则每个像素点对应的像素值为Gr通道分量值、Gb通道分量值、R通道分量值、B通道分量值中的一种,所述方法包括以下步骤:
以当前像素点为中心像素点,获取图像上NxM大小的像素区块;
获取与当前像素点距离为第一距离、且像素通道为Gr通道或Gb通道对应的所有像素点的像素值,并计算这些像素点的像素值的中位数,得到第一像素中值;
获取与当前像素点距离为第二距离、且像素通道为Gr通道或Gb通道对应的所有像素点的像素值,并计算这些像素点的像素值的中位数,得到第二像素中值;所述第二距离大于第一距离;
分别计算第一梯度值、第二梯度值和第三梯度值;所述第一梯度值为当前像素点的像素值与第一像素中值的差,所述第二梯度值为当前像素点的像素值与第二像素中值的差,所述第三梯度值为第一像素中值与第二像素中值的差;
对第一梯度值、第二梯度值和第三梯度值三者进行第一判断,所述第一判断包括:判断第一梯度值与第二梯度值的符号是否不同,若是则判定当前像素点不是疑似坏点,否则判断第一梯度值的绝对值与第三梯度值的绝对值的商是否大于第一预设误差,若是则判定当前像素点为疑似坏点,否则判定当前像素点不是疑似坏点;
记录第一判断结果,所述第一判断结果包括当前像素点为疑似坏点或当前像素点不是疑似坏点。
进一步地,所述方法还包括步骤:
计算以当前像素点为中心,预设像素区块内所有像素点在不同预设方向上的二阶梯度均值,每一个预设方向对应一个二阶梯度均值;
对计算得出的所有二阶梯度均值取最小值,得到最小二阶梯度均值并记录;
计算预设像素区块内像素点对应的纹理值,得到纹理值;
对最小二阶梯度均值与纹理值进行第二判断,并记录第二判断结果,所述第二判断包括:判断最小二阶梯度均值与纹理值的差是否大于第二预设误差,若是则判定当前像素点为疑似坏点,否则判定当前像素点为非疑似坏点。
进一步地,所述第二预设误差根据当前像素点的通道类型确定。
进一步地,所述方法包括:
对第一判断结果和第二判断结果进行第一逻辑运算,若第一逻辑运算结果为真则判定当前像素点为坏点,若第一逻辑运算结果为假则判定当前像素不是坏点。
进一步地,所述方法包括:
获取NxM大小的像素区块内所有像素点的像素值,并根据像素值的大小将所获取的所有像素点进行顺序排列,得到一像素值序列,每一排列后的像素点对应一排列编号;
计算像素值序列的中位数,得到第三像素中值;
对判定为坏点的像素点采用第三像素中值替换其原有的像素值。
进一步地,所述方法包括以下步骤:
获取预设大小的像素区块内所有像素点的像素值,并根据像素值的大小将所获取的所有像素点进行顺序排列,得到一像素值序列,每一排列后的像素点对应一排列编号;
计算像素值序列的中位数,得到第三像素中值;
根据预设边界阈值,从像素值序列中确定一个指定小像素值和一个指定大像素值,所述指定小像素值为排列编号为编号指定小值的像素点对应的像素值,所述编号指定小值为像素值最小的像素点的排列编号与预设边界阈值的差的绝对值;所述指定大像素值为排列编号为编号指定大值的像素点对应的像素值,所述编号指定大值为像素值最大的像素点的排列编号与预设边界阈值的差的绝对值;
计算指定大像素值与指定小像素值之差,确定第一差值;
根据当前像素点与第三像素中值的大小关系,确定当前像素点的像素类型,并根据当前像素点的像素类型确定第二差值;
对第一差值和第二差值进行第三判断,并记录第三判断结果;所述第三判断包括:第二差值与第一差值的商是否在大于第三预设误差,若是则判定当前像素点为疑似坏点,否则不判定当前像素点为疑似坏点。
进一步地,所述方法还包括步骤:
对第一判断结果、第二判断结果和第三判断结果进行第二逻辑运算,若第二逻辑运算结果为真则判定当前像素点为坏点,若第二逻辑运算结果为假则判定当前像素不是坏点。
进一步地,所述方法还包括步骤:
对第一判断结果和第三判断结果进行第三逻辑运算,若第三逻辑运算结果为真则判定当前像素点为坏点,若第三逻辑运算结果为假则判定当前像素不是坏点。
进一步地,所述方法还包括步骤:
对像素值序列中所有像素点进行第四判断,并记录判断结果;所述第四判断包括:判定像素值序列中,排列编号位于编号指定大值与编号最大值之间或者位于编号最小值与编号指定小值之间的像素点为疑似坏点,其他像素点为非疑似坏点;所述编号最大值为像素值最大的像素点对应的排列编号,所述编号最小值为像素值最小的像素点对应的排列编号。
进一步地,所述方法还包括步骤:
对第一判断结果、第二判断结果、第三判断结果和第四判断结果进行第四逻辑运算,若第四逻辑运算结果为真则判定当前像素点为坏点,若第四逻辑运算结果为假则判定当前像素不是坏点。
进一步地,所述方法还包括步骤:
对第一判断结果、第三判断结果和第四判断结果进行第五逻辑运算,若第五逻辑运算结果为真则判定当前像素点为坏点,若第五逻辑运算结果为假则判定当前像素不是坏点。
进一步地,其特征在于,在步骤“判定当前像素点为坏点”之后还包括步骤:
对判定为坏点的像素点采用第三像素中值替换其原有的像素值。
进一步地,其特征在于,在步骤“判定当前像素点为坏点”之后还包括步骤:
根据当前像素点的像素类型,对判定为坏点的像素点采用指定小像素值或指定大像素值替换其原有的像素值。
进一步地,所述像素类型包括max型和min型,在步骤“根据当前像素点的像素类型,对判定为坏点的像素点采用指定小像素值或指定大像素值替换其原有的像素值”具体包括:
当前像素点的值大于第三像素中值时,则确定当前像素点的像素类型为max型,对判定为坏点的像素点采用指定大像素值替换其原有的像素值;
当前像素点的值小于第三像素中值时,则确定当前像素点的像素类型为min型,对判定为坏点的像素点采用指定小像素值替换其原有的像素值。
进一步地,所述步骤“计算指定大像素值与指定小像素值之差,确定第一差值”包括:
计算指定大像素值与指定小像素值之差,得到第一中间差值;
判断第一中间差值是否大于预设第一差值,若是则确定第一中间差值为第一差值,否则确定预设第一差值为第一差值。
进一步地,所述像素类型包括max型和min型,步骤“根据当前像素点与第三像素中值的大小关系,确定当前像素点的像素类型,并根据当前像素点的像素类型确定第二差值”包括:
当前像素点的值大于第三像素中值时,则确定当前像素点的像素类型为max型,所述第二差值为当前像素点的像素值与指定小像素值之差;
当前像素点的值小于第三像素中值时,则确定当前像素点的像素类型为min型,所述第二差值为指定大像素值与当前像素点的像素值之差。
进一步地,所述步骤“以当前像素点为中心像素点,获取图像上NxM大小的像素区块”包括:
以当前像素点为中心像素点,从图像上获取TxS子块,再从所述TxS子块中获取NxM像素区块。
进一步地,所述TxS子块为5x5子块,则所述NxM大小的像素区块为3x3子块。
进一步地,所述方法包括:
以当前像素点的下一像素点为中心像素点,并判断下一像素点是否为疑似坏点,并记录判断结果;重复上述步骤,直至NxM大小的像素区块内所有像素点均遍历完成。
以及发明人还提供了一种图像坏点检测装置,所述图像为bayer格式图像,像素点的像素通道包括Gr通道、Gb通道、B通道和R通道,则每个像素点对应的像素值为Gr通道分量值、Gb通道分量值、R通道分量值、B通道分量值中的一种,所述装置包括获取单元、判断单元、计算单元和记录单元;所述获取单元包括像素区块获取单元和像素获取单元,所述计算单元包括像素中值计算单元和梯度值计算单元,所述像素中值计算单元包括第一像素中值计算单元和第二像素中值计算单元,所述判断单元包括第一判断单元,
所述像素区块获取单元用于获取以当前像素点为中心像素点、图像上NxM大小的像素区块;
所述像素获取单元用于获取与当前像素点距离为第一距离、且像素通道为Gr通道或Gb通道对应的所有像素点的像素值,所述第一像素中值计算单元用于计算这些像素点的像素值的中位数,得到第一像素中值;
所述像素获取单元还用于获取与当前像素点距离为第二距离、且像素通道为Gr通道或Gb通道对应的所有像素点的像素值,所述第二像素中值计算单元用于计算这些像素点的像素值的中位数,得到第二像素中值;所述第二距离大于第一距离;
所述梯度值计算单元用于分别计算第一梯度值、第二梯度值和第三梯度值;所述第一梯度值为当前像素点的像素值与第一像素中值的差,所述第二梯度值为当前像素点的像素值与第二像素中值的差,所述第三梯度值为第一像素中值与第二像素中值的差;
所述第一判断单元用于对第一梯度值、第二梯度值和第三梯度值三者进行第一判断,所述第一判断包括:判断第一梯度值与第二梯度值的符号是否不同,若是则判定当前像素点不是疑似坏点,否则判断第一梯度值的绝对值与第三梯度值的绝对值的商是否大于第一预设误差,若是则判定当前像素点为疑似坏点,否则判定当前像素点不是疑似坏点;
所述记录单元用于记录第一判断结果,所述第一判断结果包括当前像素点为疑似坏点或当前像素点不是疑似坏点。
进一步地,所述计算单元包括二阶梯度均值计算单元、最小二阶梯度均值计算单元、纹理值计算单元,所述判断单元包括第二判断单元;
所述二阶梯度均值计算单元用于计算以当前像素点为中心,预设像素区块内所有像素点在不同预设方向上的二阶梯度均值,每一个预设方向对应一个二阶梯度均值;
所述最小二阶梯度均值计算单元用于对计算得出的所有二阶梯度均值取最小值,得到最小二阶梯度均值并记录;
所述纹理值计算单元用于计算像素区块内的像素点对应的纹理值,得到纹理值;
所述第二判断单元用于对最小二阶梯度均值与纹理值进行第二判断,所述记录单元还用于记录第二判断结果,所述第二判断包括:判断最小二阶梯度均值与纹理值的差是否大于第二预设误差,若是则判定当前像素点为疑似坏点,否则判定当前像素点为非疑似坏点。
进一步地,所述第二预设误差根据当前像素点的通道类型确定。
进一步地,所述装置还包括逻辑运算单元;
所述逻辑运算单元用于对第一判断结果和第二判断结果进行第一逻辑运算,若第一逻辑运算结果为真则判定当前像素点为坏点,若第一逻辑运算结果为假则判定当前像素不是坏点。
进一步地,所述装置还包括排序单元和坏点替换单元,所述像素中值计算单元还包括第三像素中值计算单元;
所述像素获取单元用于获取NxM大小的像素区块内所有像素点的像素值,所述排序单元用于根据像素值的大小将所获取的所有像素点进行顺序排列,得到一像素值序列,每一排列后的像素点对应一排列编号;
所述第三像素中值计算单元用于计算像素值序列的中位数,得到第三像素中值;
所述坏点替换单元用于对判定为坏点的像素点采用第三像素中值替换其原有的像素值。
进一步地,所述装置还包括排序单元和指定像素确定单元,所述计算单元包括差值计算单元,所述差值计算单元包括第一差值计算单元和第二差值计算单元;所述像素中值计算单元还包括第三像素中值计算单元;所述判断单元包括第三判断单元;
所述像素获取单元用于获取预设大小的像素区块内所有像素点的像素值,所述排序单元用于根据像素值的大小将所获取的所有像素点进行顺序排列,得到一像素值序列,每一排列后的像素点对应一排列编号;
所述第三像素中值计算单元用于计算像素值序列的中位数,得到第三像素中值;
所述指定像素确定单元用于根据预设边界阈值,从像素值序列中确定一个指定小像素值和一个指定大像素值,所述指定小像素值为排列编号为编号指定小值的像素点对应的像素值,所述编号指定小值为像素值最小的像素点的排列编号与预设边界阈值的差的绝对值;所述指定大像素值为排列编号为编号指定大值的像素点对应的像素值,所述编号指定大值为像素值最大的像素点的排列编号与预设边界阈值的差的绝对值;
所述第一差值计算单元用于计算指定大像素值与指定小像素值之差,确定第一差值;
所述第二差值计算单元用于根据当前像素点与第三像素中值的大小关系,确定当前像素点的像素类型,并根据当前像素点的像素类型确定第二差值;
所述第三判断单元用于对第一差值和第二差值进行第三判断,所述记录单元用于记录第三判断结果;所述第三判断包括:第二差值与第一差值的商是否在大于第三预设误差,若是则判定当前像素点为疑似坏点,否则不判定当前像素点为疑似坏点。
进一步地,所述装置还包括逻辑运算单元;
所述逻辑运算单元用于对第一判断结果、第二判断结果和第三判断结果进行第二逻辑运算,若第二逻辑运算结果为真则判定当前像素点为坏点,若第二逻辑运算结果为假则判定当前像素不是坏点。
进一步地,所述装置还包括逻辑运算单元;
所述逻辑运算单元用于对第一判断结果和第三判断结果进行第三逻辑运算,若第三逻辑运算结果为真则判定当前像素点为坏点,若第三逻辑运算结果为假则判定当前像素不是坏点。
进一步地,所述判断单元还包括第四判断单元;
所述第四判断单元用于对像素值序列中所有像素点进行第四判断,所述记录单元用于记录第四判断的判断结果;所述第四判断包括:判定像素值序列中,排列编号位于编号指定大值与编号最大值之间或者位于编号最小值与编号指定小值之间的像素点为疑似坏点,其他像素点为非疑似坏点;所述编号最大值为像素值最大的像素点对应的排列编号,所述编号最小值为像素值最小的像素点对应的排列编号。
进一步地,所述装置还包括逻辑运算单元;
所述逻辑运算单元用于对第一判断结果、第二判断结果、第三判断结果和第四判断结果进行第四逻辑运算,若第四逻辑运算结果为真则判定当前像素点为坏点,若第四逻辑运算结果为假则判定当前像素不是坏点。
进一步地,装置还包括逻辑运算单元;
所述逻辑运算单元用于对第一判断结果、第三判断结果和第四判断结果进行第五逻辑运算,若第五逻辑运算结果为真则判定当前像素点为坏点,若第五逻辑运算结果为假则判定当前像素不是坏点。
进一步地,所述装置包括坏点替换单元;
所述坏点替换单元用于对判定为坏点的像素点采用第三像素中值替换其原有的像素值。
进一步地,所述装置包括坏点替换单元;
所述坏点替换单元用于根据当前像素点的像素类型,对判定为坏点的像素点采用指定小像素值或指定大像素值替换其原有的像素值。
进一步地,所述像素类型包括max型和min型,“坏点替换单元用于根据当前像素点的像素类型,对判定为坏点的像素点采用指定小像素值或指定大像素值替换其原有的像素值”具体包括:
当前像素点的值大于第三像素中值时,则确定当前像素点的像素类型为max型,所述坏点替换单元用于对判定为坏点的像素点采用指定大像素值替换其原有的像素值;
当前像素点的值小于第三像素中值时,则确定当前像素点的像素类型为min型,所述坏点替换单元用于对判定为坏点的像素点采用指定小像素值替换其原有的像素值。
进一步地,所述“第一差值计算单元用于计算指定大像素值与指定小像素值之差,确定第一差值”包括:
第一差值计算单元用于计算指定大像素值与指定小像素值之差,得到第一中间差值,并判断第一中间差值是否大于预设第一差值,若是则确定第一中间差值为第一差值,否则确定预设第一差值为第一差值。
进一步地,所述像素类型包括max型和min型,“第二差值计算单元用于根据当前像素点与第三像素中值的大小关系,确定当前像素点的像素类型,并根据当前像素点的像素类型确定第二差值”包括:
当前像素点的值大于第三像素中值时,则确定当前像素点的像素类型为max型,第二差值计算单元用于计算当前像素点的像素值与指定小像素值之差,得到第二差值;
当前像素点的值小于第三像素中值时,则确定当前像素点的像素类型为min型,第二差值计算单元用于计算指定大像素值与当前像素点的像素值之差,得到第二差值。
进一步地,所述“像素区块获取单元用于获取以当前像素点为中心像素点、图像上NxM大小的像素区块”包括:
所述像素区块获取单元用于获取以当前像素点为中心像素点、图像上TxS大小的子块,再从所述TxS大小的子块中获取NxM像素区块。
进一步地,所述TxS子块为5x5子块,则所述NxM大小的像素区块为3x3子块。
进一步地,所述装置还包括遍历单元;
所述遍历单元用于以当前像素点的下一像素点为中心像素点,并判断下一像素点是否为疑似坏点,并记录判断结果;重复上述步骤,直至NxM大小的像素区块内所有像素点均遍历完成。
本发明具有以下优点:基于图像上的坏点属性(坏点的像素值一般远大于或远小于同一个像素区块内其他像素点的平均像素值)来查找坏点,极大缩小了坏点检测装置的硬件面积。同时对图像上的像素点逐一排查,有利于发现更多的疑似坏点,进而在疑似坏点中进行排查,有效提高坏点检测的效率。
附图说明
图1为本发明一实施方式涉及的Bayer格式图像的示意图;
图2-A为本发明一实施方式涉及的第一像素中值获取过程的示意图;
图2-B为本发明一实施方式涉及的第二像素中值获取过程的示意图;
图2-C为本发明另一实施方式涉及的第一像素中值获取过程的示意图;
图2-D为本发明另一实施方式涉及的第二像素中值获取过程的示意图;
图3为本发明一实施方式涉及的预设边界值与指定像素点的对应关系的示意图;
图4为本发明一实施方式涉及的计算最小二阶梯度均值的示意图;
图5-A为本发明一实施方式涉及的坏点检测和替换后的图像前后对比图;
图5-B为本发明另一实施方式涉及的坏点检测和替换后的图像前后对比图;
图5-C为本发明另一实施方式涉及的坏点检测和替换后的图像前后对比图;
图6为本发明一实施方式涉及的图像坏点检测方法的流程图;
图7为本发明另一实施方式涉及的图像坏点检测方法的流程图;
图8为本发明另一实施方式涉及的图像坏点检测方法的流程图;
图9为本发明另一实施方式涉及的图像坏点检测方法的流程图;
图10为本发明一实施方式涉及的第一逻辑运算过程的示意图;
图11为本发明一实施方式涉及的第二逻辑运算过程的示意图;
图12为本发明一实施方式涉及的第三逻辑运算过程的示意图;
图13为本发明一实施方式涉及的第四逻辑运算过程的示意图;
图14为本发明一实施方式涉及的第五逻辑运算过程的示意图;
图15为本发明一实施方式涉及的图像坏点检测装置的示意图;
附图标记说明:
101、获取单元;111、像素区块获取单元;121、像素获取单元
102、判断单元;112、第一判断单元;122、第二判断单元;132、第三判断单元;142、第四判断单元;
103、计算单元;
113、像素中值计算单元;123、第一像素中值计算单元;133、第二像素中值计算单元;143、第三像素中值计算单元
153、梯度值计算单元;
163、二阶梯度均值计算单元;
173、最小二阶梯度均值计算单元;
183、纹理值计算单元;
193、差值计算单元;191、第一差值计算单元;192、第二差值计算单元;
104、记录单元;
105、逻辑运算单元;
106、排序单元;
107、坏点替换单元;
108、指定像素确定单元;
109、遍历单元。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
请参阅图1,为本发明一实施方式涉及的Bayer格式图像的示意图。本发明中的待检测的图像为bayer格式图像,像素点的像素通道包括Gr通道、Gb通道、B通道和R通道,则每个像素点对应的像素值为Gr通道分量值、Gb通道分量值、R通道分量值、B通道分量值中的一种。从图1中可以看出,Bayer格式图像是按照一定规则进行排列的,具体是以2x2窗口为基础复制重复排列,每一2x2窗口中包括了4个像素点,4个像素点的通道分量值在2x2窗口中的排列方式可以不同,但是Gr通道分量值和Gb通道分量值必须处于相对位置(即2x2窗口中的斜对角位置)。
请参阅图6,所述方法包括以下步骤:
首先进入步骤S601以当前像素点为中心像素点,获取图像上NxM大小的像素区块。在本实施方式中,步骤S601包括:以当前像素点为中心像素点,从图像上获取TxS子块,再从所述TxS子块中获取NxM像素区块。进一步地,所述TxS子块为5x5子块,则所述NxM大小的像素区块为3x3子块。在RAW域中,可以先从整张图像中先获取5x5大小的子块,在从5x5子块中抽取3x3同通道的窗口。在其他实施例中,TxS和NxM还可以为其他数值大小的子块,例如TxS为9x9大小的子块,则NxM可以为该9x9大小子块中抽取的5x5子块;再比如TxS为5x9大小的子块,则NxM可以为该5x9子块中抽取的3x5子块,以及TxS为9x5大小的子块,则NxM可以为该9x5子块中抽取的5x3子块等等。简言之,像素区块大小的选择可以根据实际需求而确定。本发明以NxM为5x5为例,对图6中的方法作进一步说明。
而后进入步骤S602获取与当前像素点距离为第一距离、且像素通道为Gr通道或Gb通道对应的所有像素点的像素值,并计算这些像素点的像素值的中位数,得到第一像素中值。在本实施方式中,第一距离为只间隔一个像素点的距离,第一距离可以是垂直或水平方向上相邻的两个像素点之间的距离,也可以是45度或135度方向上相邻的两个像素点之间的距离。如图2-A所示,当前像素点为中心的Gr通道分量值的像素点(图中用三角形圈出),那么与当前像素点距离为第一距离、且像素通道为Gr通道或Gb通道对应的像素点,分别位于当前像素点的左上、左下、右上、右下位置(图中用圆圈圈出)。而后会获取这4个像素点的Gb通道分量值,并按照从大到小或者从小到大的顺序进行排列后,计算排列后的4个像素点的中位数,得到第一像素中值。
而后进入步骤S603获取与当前像素点距离为第二距离、且像素通道为Gr通道或Gb通道对应的所有像素点的像素值,并计算这些像素点的像素值的中位数,得到第二像素中值;所述第二距离大于第一距离。在本实施方式中,第二距离为间隔两个像素点的距离,第二距离为任意两种第一距离的组合。在另一些实施例中,当像素区块为其他大小时,第二距离还可以为其他任意多种第一距离的组合。如图2-B所示,NxM为5x5子块,当前像素点为中心的Gr通道分量值的像素点(图中用三角形圈出),那么与当前像素点距离为第二距离、且像素通道为Gr通道或Gb通道对应的像素点,分别位于5x5子块最外围的像素通道为Gr通道的像素点所在的位置(图中用圆圈圈出的8个位置)。而后会获取这8个像素点的Gr通道分量值,并按照从大到小或者从小到大的顺序进行排列后,计算排列后的8个像素点的中位数,得到第二像素中值。
在某些实施例中,当前像素点(即中心像素点)对应的像素通道除了是Gr通道或Gb通道,也有可能是R通道或B通道。如图2-C,当中心像素点的像素通道为R通道时,其获取的与当前像素点相距第一距离、且像素通道为Gr通道或Gb通道,分别位于中心像素点的上、下、左、右4个方位。而后会获取这4个像素点的Gb通道分量值或Gr通道分量值,并按照从大到小或者从小到大的顺序进行排列后,计算排列后的4个像素点的中位数,得到第一像素中值。
如图2-D所示,NxM为5x5子块,当前像素点为中心的R通道分量值的像素点(图中用三角形圈出),那么与当前像素点距离为第二距离、且像素通道为Gr通道或Gb通道对应的像素点,分别位于5x5子块最外围的像素通道为Gr通道的像素点所在的位置(图中用圆圈圈出的8个位置)。而后会获取这8个像素点的Gr通道分量值,并按照从大到小或者从小到大的顺序进行排列后,计算排列后的8个像素点的中位数,得到第二像素中值。
当前像素点为B通道的像素点时,其计算第一像素中值和第二像素中值的方法与当前像素点为R通道像素点时类似,此处不再赘述。简言之,以5x5子块为例,第一像素中值为以当前像素点为中心、3x3子块范围内所有像素通道为Gr通道或Gb通道的像素点的像素值按照顺序排列后计算得出的中位数;第二像素中值为以当前像素点为中心、5x5子块最外围的16个像素点中且像素通道为Gr通道或Gb通道的所有像素点的像素值按照顺序排列后计算得出的中位数。
而后进入步骤S604分别计算第一梯度值、第二梯度值和第三梯度值。所述第一梯度值为当前像素点的像素值与第一像素中值的差,所述第二梯度值为当前像素点的像素值与第二像素中值的差,所述第三梯度值为第一像素中值与第二像素中值的差。
而后对第一梯度值、第二梯度值和第三梯度值三者进行第一判断,第一判断包括两个判断步骤:首先进入步骤S605判断第一梯度值与第二梯度值的符号是否不同,若是则进入步骤S607判定当前像素点不是疑似坏点。
对于一幅图像而言,图像内某一区块一般属于同一个集群范围(即像素值相差不会很大),第一像素中值反应为以当前像素为中心、3x3子块范围大小内其他像素点的像素值(即第一梯度范围内)的抽样情况;第二像素中值反应为以当前像素点为中心、5x5子块大小范围内外围像素点的像素值(即第二梯度范围内)的抽样情况。如果当前像素点是疑似坏点,那么其像素值一般远大于或者远小于同一区块内的其他像素点,即第一梯度值与第二梯度值的符号应该相同。反之,如果第一梯度值与第二梯度值的符号不同,则可以判定当前像素点不是疑似坏点。
如果第一梯度值与第二梯度值的符号相同,也有可能存在着以下情况:当前像素点的像素值只是略大于或略小于第一像素中值和第二像素中值。这种情况下一般不认为当前像素点为疑似坏点,为此需要将这部分像素点排除,以免影响图像的细节。因而在第一判断的第一个判断步骤“判断第一梯度值与第二梯度值的符号是否不同”的判断结果为否(即第一梯度值和第二梯度值的符号相同)时,则可以进入第一判断的第二个判断步骤S606判断第一梯度值的绝对值与第三梯度值的绝对值的商是否大于第一预设误差,若是则进入步骤S608判定当前像素点为疑似坏点,否则进入步骤S607判定当前像素点不是疑似坏点。
第一预设误差的选取可以根据实际需要进行调整,例如可以根据当前像素点像素通道的不同配置不同的第一预设误差值,具体为:当前像素点的像素通道为R通道或B通道时,第一预设误差值选取上比当前像素点的像素通道为G通道(包括Gr通道和Gb通道)时来得小,因为人眼对R通道或B通道的敏感程度不如G通道。通过针对不同像素通道设置不同的第一预设误差值,可以有效提高坏点检测的准确率。若第一梯度值的绝对值与第三梯度值的绝对值的商大于第一预设误差,说明当前像素点的像素值远比第一像素中值、第二像素中值来得大或小,因而可以判定当前像素点为疑似坏点。
而后可以进入步骤记录第一判断结果。所述第一判断结果包括当前像素点为疑似坏点或当前像素点不是疑似坏点。第一判断结果可以与其他方法的判断结果进行进一步的逻辑运算,从而提高坏点检测的精度。
如图7所示,在某些实施例中,所述方法还包括步骤:
首先进入步骤S701计算以当前像素点为中心,预设像素区块内所有像素点在不同预设方向上的二阶梯度均值,每一个预设方向对应一个二阶梯度均值。为了便于说明,下面以预设像素区块为以当前像素点为中心、3x3大小的子块为例,对步骤S701做进一步说明。
如图4所示,3x3子块被划分为4个预设方向(包括水平方向、垂直方向、135度方向和45度方向)。以水平方向为例,其包含这三组像素点,像素点C1、C2、C3为一组,像素点C4、C5、C6为一组,像素点C7、C8、C9为一组,每一组像素点都对应一个二阶梯度值。二阶梯度是图像处理领域一种最有效的找边方法,以像素点C1、C2、C3这组为例,二阶梯度值可以通过以下公式计算得出:A1=2*C2-C1-C3,其中,A1为二阶梯度值,C1、C2、C3分别为像素点C1、C2、C3对应的像素值,像素点C1、C2、C3位于同一条直线上,像素点C2位于像素点C1和像素点C3之间。同理,对于像素点C4、C5、C6以及像素点C7、C8、C9也可以计算得出对应的二阶梯度值A2和A3,再对A1、A2、A3取平均值,即可得到在水平方向的二阶梯度均值。垂直方向上同理可得,同样可以得到一个在垂直方向的二阶梯度均值。
对于135度方向而言,在计算该方向的二阶梯度均值时,由于135度方向上的直线只涵盖了C4、C8,为了便于计算,因而将像素点C7一起并入C4、C8的分组中。即将像素点C1、C5、C9分为一组,像素点C4、C7、C8分为一组,像素点C2、C3、C6分为一组。以像素点C4、C7、C8为例,二阶梯度值可以通过以下公式计算得出:A4=2*C7-C4-C8。同样也可以算出其他两组对应的二阶梯度值A5和A6,再对A4、A5、A6取平均值,即可得到在135度方向的二阶梯度均值。45度上同理可得,同样可以得到一个在45度方向的二阶梯度均值。
在某些实施例中,预设像素区块还可以为其他大小,如5x5子块、3x5子块、7x7子块等。对于5x5子块而言,以计算水平方向上的二阶梯度均值为例,水平方向上的二阶梯度均值为5个水平方向上二阶梯度值的平均值,假设某一个水平方向上的从左到右像素点依次为C1、C2、C3、C4、C5,则在该水平方向上的二阶梯度值可以通过以下方式得到:先计算C1、C2像素值的平均值,得到C1’;而后计算C4、C5像素值的平均值,得到C2’;再通过公式2C3-C1’-C2’得到该水平方向的二阶梯度值。其余4个水平方向的二阶梯度值的求法同理可得,取5个二阶梯度值的平均值即为5x5子块像素点对应的水平方向上的二阶梯度均值。其余方向二阶梯度均值的求法可以5x5水平二阶梯度均值以及3x3在其余方向的二阶梯度均值的求法,此处不再赘述。
对于7x7子块而言,同样以计算水平方向上的二阶梯度均值为例,水平方向上的二阶梯度均值为7个水平方向上二阶梯度值的平均值,假设某一个水平方向上的从左到右像素点依次为C1、C2、C3、C4、C5、C6、C7,则在该水平方向上的二阶梯度值可以通过以下方式得到:先计算C1、C2、C3像素值的平均值,得到C3’;再计算C3、C4、C5像素值的平均值,得到C4’;而后计算C5、C6、C7像素值的平均值,得到C5’;再通过公式2C4’-C3’-C5’得到该水平方向的二阶梯度值。其余4个水平方向的二阶梯度值的求法同理可得,取7个二阶梯度值的平均值即为7x7子块像素点对应的水平方向上的二阶梯度均值。其余方向二阶梯度均值的求法可以7x7水平二阶梯度均值以及3x3在其余方向的二阶梯度均值的求法,此处不再赘述。
而后可以进入步骤S702对计算得出的所有二阶梯度均值取最小值,得到最小二阶梯度均值并记录。同样以预设像素区块为3x3子块为例,最小二阶梯度均值即为4个方向上计算得出的4个二阶梯度均值中的最小值。最小二阶梯度均值即为“边”,如果当前像素点是坏点,那么最小二阶梯度均值往往较大,因而可以通过事先确定一预设阈值,再将最小二阶梯度均值与预设阈值进行比较,进而判断当前像素点是否是坏点。
因而步骤S702后可以进入步骤S703计算预设像素区块内像素点对应的纹理值,得到纹理值。像素区块的纹理值反映了该像素区块内所具备的高频信息的丰富程度,纹理值越丰富,其对应的梯度值也就越大。如图4的3x3子块的纹理值可以通过以下方式计算得出:texture=(|△31|+|△64|+|△97|+|△71|+|△82|+|△93|+|△91|)/7。其中,texture表示纹理值,△31=C3-C1(C3、C1分别为像素点C3、C1对应的像素值)。即分别计算3x3子块内,除了中心像素点之外,其余像素点中两两不相邻的像素点之间的梯度均值。对于其他大小的子块,同理可得,此处不再赘述。
而后对最小二阶梯度均值与纹理值进行第二判断,并记录第二判断结果。所述第二判断包括:步骤S704判断最小二阶梯度均值与纹理值的差是否大于第二预设误差,若是则进入步骤S705判定当前像素点为疑似坏点,否则进入步骤S706判定当前像素点为非疑似坏点。第二预设误差的选值可以根据实际需要自定义,在本实施方式中,所述第二预设误差根据当前像素点的通道类型确定,理由如第一预设误差的选值。
如图10所示,为了进一步提高坏点检测的准确度,在本实施方式中,所述方法包括:对第一判断结果和第二判断结果进行第一逻辑运算,若第一逻辑运算结果为真则判定当前像素点为坏点,若第一逻辑运算结果为假则判定当前像素不是坏点。第一逻辑运算可以为“与”运算,即第一判断结果和第二判断结果均判断当前像素点为疑似坏点时,才认定当前像素点为坏点,否则认定当前像素点不是坏点。这样有利于图像边缘高频信息的保护,达到更好的保护效果,提高坏点检测的准确率。
在某些实施例中,对于同一个像素点,可以采用图6和图7的方法进行多次计算,并记录每次经过这两种方法的判断结果,对于每一次记录的第一判断结果和第二判断结果均进行第一逻辑运算,而后统计最终第一逻辑结果。当第一逻辑运算判定当前像素点是坏点的次数占第一逻辑运算总次数的比例大于预设比例时,才认定当前像素点为坏点。优选的,在每一次计算过程中,可以调整第一预设误差和第二预设误差的值,通过反复多次的计算,可以有效提高坏点检测的精度。
当第一逻辑运算判定当前像素点是坏点后,就需要对当前像素点进行替换,以便恢复图像的细节特性。因而在本实施方式中,所述方法包括:获取NxM大小的像素区块内所有像素点的像素值,并根据像素值的大小将所获取的所有像素点进行顺序排列,得到一像素值序列,每一排列后的像素点对应一排列编号;计算像素值序列的中位数,得到第三像素中值;对判定为坏点的像素点采用第三像素中值替换其原有的像素值。
请参阅图8,在某些实施例中,所述方法包括以下步骤:
首先进入步骤S801获取预设大小的像素区块内所有像素点的像素值,并根据像素值的大小将所获取的所有像素点进行顺序排列,得到一像素值序列。每一排列后的像素点对应一排列编号。预设大小的像素区块依然是以当前像素点为中心,预设大小为半径的区块,例如以当前像素点为中心的3x3子块。若当前像素点位于图像上边缘位置,则可以获取当前像素点右边和下边的像素子区块,例如子区块只占预设大小的像素区块的1/4,则可以将所获取的子区块的像素点对称到左边和上边,从而构成完整的像素区块。
而后进入步骤S802计算像素值序列的中位数,得到第三像素中值。
而后进入步骤S803根据预设边界阈值,从像素值序列中确定一个指定小像素值和一个指定大像素值。所述指定小像素值为排列编号为编号指定小值的像素点对应的像素值,所述编号指定小值为像素值最小的像素点的排列编号与预设边界阈值的差的绝对值;所述指定大像素值为排列编号为编号指定大值的像素点对应的像素值,所述编号指定大值为像素值最大的像素点的排列编号与预设边界阈值的差的绝对值。
如图3所示,以预设大小的像素区块为3x3子块为例,图中序号0-8表示按照从小到大排列后的像素点对应的排列编号,当预设边界值为0时,指定小像素值为编号为0的像素点对应的像素值,即整个像素值序列中的最小值,指定大像素值为编号为8的像素点对应的像素值,即整个像素值序列中的最大值;当预设边界值为1时,指定小像素值为编号为1的像素点对应的像素值,即整个像素值序列中的第二小的像素值,指定大像素值为编号为7的像素点对应的像素值,即整个像素值序列中的第二大的像素值;当预设边界值为2时,指定小像素值为编号为2的像素点对应的像素值,即整个像素值序列中的第三小的像素值,指定大像素值为编号为6的像素点对应的像素值,即整个像素值序列中的第三大的像素值;以此类推。
而后进入步骤S804计算指定大像素值与指定小像素值之差,确定第一差值。在本实施方式中,步骤S804包括:计算指定大像素值与指定小像素值之差,得到第一中间差值;判断第一中间差值是否大于预设第一差值,若是则确定第一中间差值为第一差值,否则确定预设第一差值为第一差值。
而后进入步骤S805根据当前像素点与第三像素中值的大小关系,确定当前像素点的像素类型,并根据当前像素点的像素类型确定第二差值。在本实施方式中,所述像素类型包括max型和min型,步骤S805包括:当前像素点的值大于第三像素中值时,则确定当前像素点的像素类型为max型,所述第二差值为当前像素点的像素值与指定小像素值之差;当前像素点的值小于第三像素中值时,则确定当前像素点的像素类型为min型,所述第二差值为指定大像素值与当前像素点的像素值之差。
对于一个像素点正常(不存在坏点)的3x3预设区块来说,区块内的大部分像素点存在着关联,它们之间的像素点不会相差太大。在区块范围较小时,可以用集群来表示区块内所有像素点,指定小像素值和指定大像素值分别标识着该集群的上限和下限。第一差值表示这个集群的高度,第二差值表示当前像素点(中心像素点)的偏离程度。如果当前像素点是坏点,那么第二差值将远大于第一差值,因而可以通过设置预设值进行比较,来判断当前像素点是否是疑似坏点。
因而在步骤S805后可以对第一差值和第二差值进行第三判断,并记录第三判断结果。所述第三判断包括:步骤S806第二差值与第一差值的商是否在大于第三预设误差,若是则进入步骤S807判定当前像素点为疑似坏点,否则进入步骤S808不判定当前像素点为疑似坏点。第三预设误差的值可以根据实际需要进行调整配置,第二差值与第一差值的比值大于第三预设误差,则可以判定当前像素点为疑似坏点。
如图11所示,所述方法还包括步骤:对第一判断结果、第二判断结果和第三判断结果进行第二逻辑运算,若第二逻辑运算结果为真则判定当前像素点为坏点,若第二逻辑运算结果为假则判定当前像素不是坏点。第二逻辑运算可以为“与”运算,即第一判断结果、第二判断结果、第三判断结果均判断当前像素点为疑似坏点时,才认定当前像素点为坏点,否则认定当前像素点不是坏点。当然在其他实施例中,第二逻辑运算还可以为其他运算,例如三个判断中有两个判断结果判定当前像素点为疑似坏点时,第二逻辑运算结果为真,否则为假。
如图12所示,所述方法还包括步骤:对第一判断结果和第三判断结果进行第三逻辑运算,若第三逻辑运算结果为真则判定当前像素点为坏点,若第三逻辑运算结果为假则判定当前像素不是坏点。第三逻辑运算可以为“与”运算,即第一判断结果和第三判断结果均判断当前像素点为疑似坏点时,才认定当前像素点为坏点,否则认定当前像素点不是坏点,从而有效提高坏点检测精度。
如图9所示,所述方法还包括步骤:对像素值序列中所有像素点进行第四判断,并记录判断结果。所述第四判断包括:步骤S901判定像素值序列中,像素点的排列编号是否位于编号指定大值与编号最大值之间或者位于编号最小值与编号指定小值之间,若是则进入步骤S902判定该像素点为疑似坏点,否则进入步骤S903判定该像素点为非疑似坏点。所述编号最大值为像素值最大的像素点对应的排列编号,所述编号最小值为像素值最小的像素点对应的排列编号。
对于一个像素区块内,可能只存在着一个坏点,也有可能存在着多个坏点,因而需要通过图9所示的方法进行排查。具体做法就是将区块内所有像素点按照顺序排列(从大到小或者从小到大排列)后,默认位于两端部分的像素点为疑似坏点。以图3中预设大小的区块为3x3子块为例,图中序号0-8表示按照从小到大排列后的像素点对应的排列编号。当预设边界值为1时,指定小像素值为编号为1的像素点对应的像素值,即整个像素值序列中的第二小的像素值,指定大像素值为编号为7的像素点对应的像素值,即整个像素值序列中的第二大的像素。根据第四判断过程,将判定排列编号为0、1、7、8的像素点为疑似坏点。同理,当预设边界值为2时,将判定排列编号为0、1、2、6、7、8的像素点为疑似坏点。预设边界值为其他数值的情况,以此类推。
如图13所示,所述方法还包括步骤:对第一判断结果、第二判断结果、第三判断结果和第四判断结果进行第四逻辑运算,若第四逻辑运算结果为真则判定当前像素点为坏点,若第四逻辑运算结果为假则判定当前像素不是坏点。第四逻辑运算可以为“与”运算,即第一判断结果、第二判断结果、第三判断结果、第四判断结果均判断当前像素点为疑似坏点时,才认定当前像素点为坏点,否则认定当前像素点不是坏点。当然在其他实施例中,第四逻辑运算还可以为其他运算,例如四个判断中有两个或三个判断结果判定当前像素点为疑似坏点时,第四逻辑运算结果为真,否则为假。
如图14所示,所述方法还包括步骤:对第一判断结果、第三判断结果和第四判断结果进行第五逻辑运算,若第五逻辑运算结果为真则判定当前像素点为坏点,若第五逻辑运算结果为假则判定当前像素不是坏点。第五逻辑运算可以为“与”运算,即第一判断结果、第三判断结果、第四判断结果均判断当前像素点为疑似坏点时,才认定当前像素点为坏点,否则认定当前像素点不是坏点。当然在其他实施例中,第五逻辑运算还可以为其他运算,例如三个判断中有两个判断结果判定当前像素点为疑似坏点时,第五逻辑运算结果为真,否则为假。
当第二逻辑运算、第三逻辑运算、第四逻辑运算、第五逻辑运算任一项结果判定当前像素点为坏点时,就需要对当前像素点进行替换。在某些实施例中,对坏点进行替换可以通过以下方式实现:对判定为坏点的像素点采用第三像素中值替换其原有的像素值。第三像素中值即预设区块内所有像素点按照顺序排列后的中位数,采用该值替换坏点,可以有效缩小当前像素点与区块内其他像素点之间的差值,达到修复坏点、保持图像细节的目的。
在某些实施例中,对坏点进行替换可以通过还以下方式实现:根据当前像素点的像素类型,对判定为坏点的像素点采用指定小像素值或指定大像素值替换其原有的像素值。具体包括:当前像素点的值大于第三像素中值时,则确定当前像素点的像素类型为max型,对判定为坏点的像素点采用指定大像素值替换其原有的像素值;当前像素点的值小于第三像素中值时,则确定当前像素点的像素类型为min型,对判定为坏点的像素点采用指定小像素值替换其原有的像素值。对于坏点而言,其本身可能也会携带一些图像信息,如果采用第三像素中值进行完全替换,不利于保留这些图像信息,而采用此方案相较于采用第三像素中值进行替换坏点的方案,可以更好地保持图像细节。
至此,就完成了一个像素点(当前像素点)是否为坏点的检测,对于一幅图像而言,其包含着许多像素点,在当前像素点检测完毕后,需要开始下一像素点的检测,因而所述方法包括:以当前像素点的下一像素点为中心像素点,并判断下一像素点是否为疑似坏点,并记录判断结果;重复上述步骤,直至NxM大小的像素区块内所有像素点均遍历完成。在实际应用过程中,对于每一像素点的判断,可以根据图10至图14中的任意一种方法来判断当前像素点是不是坏点,还可以选用这几种方法的组合进行综合性判断,还可以反复执行多次这几种方法的组合来判断。简言之,坏点检测方法选择上有多种选择,检测人员可以根据实际需要来选用。检测效果如图5-A、图5-B、图5-C所示,每幅图中的左边表示原始图像,中间表示检测出的坏点,右边表示经过坏点替换修复的图像,可以明显看出右边的图像比左边图像整体更加平滑,用户的感官体验更好。
请参阅图15,为本发明一实施方式涉及的图像坏点检测装置的示意图。所述图像为bayer格式图像,像素点的像素通道包括Gr通道、Gb通道、B通道和R通道,则每个像素点对应的像素值为Gr通道分量值、Gb通道分量值、R通道分量值、B通道分量值中的一种,所述装置包括获取单元101、判断单元102、计算单元103和记录单元104;所述获取单元101包括像素区块获取单元111和像素获取单元121,所述计算单元103包括像素中值计算单元113和梯度值计算单元153,所述像素中值计算单元113包括第一像素中值计算单元123和第二像素中值计算单元133,所述判断单元102包括第一判断单元112;
所述像素区块获取单元111用于获取以当前像素点为中心像素点、图像上NxM大小的像素区块;
所述像素获取单元121用于获取与当前像素点距离为第一距离、且像素通道为Gr通道或Gb通道对应的所有像素点的像素值,所述第一像素中值计算单元123用于计算这些像素点的像素值的中位数,得到第一像素中值;
所述像素获取单元121还用于获取与当前像素点距离为第二距离、且像素通道为Gr通道或Gb通道对应的所有像素点的像素值,所述第二像素中值计算单元133用于计算这些像素点的像素值的中位数,得到第二像素中值;所述第二距离大于第一距离;
所述梯度值计算单元153用于分别计算第一梯度值、第二梯度值和第三梯度值;所述第一梯度值为当前像素点的像素值与第一像素中值的差,所述第二梯度值为当前像素点的像素值与第二像素中值的差,所述第三梯度值为第一像素中值与第二像素中值的差;
所述第一判断单元112用于对第一梯度值、第二梯度值和第三梯度值三者进行第一判断,所述第一判断包括:判断第一梯度值与第二梯度值的符号是否不同,若是则判定当前像素点不是疑似坏点,否则判断第一梯度值的绝对值与第三梯度值的绝对值的商是否大于第一预设误差,若是则判定当前像素点为疑似坏点,否则判定当前像素点不是疑似坏点;
所述记录单元104用于记录第一判断结果,所述第一判断结果包括当前像素点为疑似坏点或当前像素点不是疑似坏点。
在使用图像坏点检测装置时,首先像素区块获取单元111获取以当前像素点为中心像素点、图像上NxM大小的像素区块。在本实施方式中,像素区块获取单元111以当前像素点为中心像素点,从图像上获取TxS子块,再从所述TxS子块中获取NxM像素区块。进一步地,所述TxS子块为5x5子块,则所述NxM大小的像素区块为3x3子块。在RAW域中,可以先从整张图像中先获取5x5大小的子块,在从5x5子块中抽取3x3同通道的窗口。在其他实施例中,TxS和NxM还可以为其他数值大小的子块,例如TxS为9x9大小的子块,则NxM可以为该9x9大小子块中抽取的5x5子块;再比如TxS为5x9大小的子块,则NxM可以为该5x9子块中抽取的3x5子块,以及TxS为9x5大小的子块,则NxM可以为该9x5子块中抽取的5x3子块等等。。简言之,像素区块大小的选择可以根据实际需求而确定,为了便于说明,本发明以NxM为5x5为例作进一步说明。
而后像素获取单元121获取与当前像素点距离为第一距离、且像素通道为Gr通道或Gb通道对应的所有像素点的像素值,第一像素中值计算单元123计算这些像素点的像素值的中位数,得到第一像素中值。在本实施方式中,第一距离为只间隔一个像素点的距离,第一距离可以是垂直或水平方向上相邻的两个像素点之间的距离,也可以是45度或135度方向上相邻的两个像素点之间的距离。如图2-A所示,当前像素点为中心的Gr通道分量值的像素点(图中用三角形圈出),那么与当前像素点距离为第一距离、且像素通道为Gr通道或Gb通道对应的像素点,分别位于当前像素点的左上、左下、右上、右下位置(图中用圆圈圈出)。而后会获取这4个像素点的Gb通道分量值,并按照从大到小或者从小到大的顺序进行排列后,计算排列后的4个像素点的中位数,得到第一像素中值。
而后像素获取单元121获取与当前像素点距离为第二距离、且像素通道为Gr通道或Gb通道对应的所有像素点的像素值,第二像素中值计算单元133计算这些像素点的像素值的中位数,得到第二像素中值;所述第二距离大于第一距离。在本实施方式中,第二距离为间隔两个像素点的距离,第二距离为任意两种第一距离的组合。在另一些实施例中,当像素区块为其他大小时,第二距离还可以为其他任意多种第一距离的组合。如图2-B所示,NxM为5x5子块,当前像素点为中心的Gr通道分量值的像素点(图中用三角形圈出),那么与当前像素点距离为第二距离、且像素通道为Gr通道或Gb通道对应的像素点,分别位于5x5子块最外围的像素通道为Gr通道的像素点所在的位置(图中用圆圈圈出的8个位置)。而后会获取这8个像素点的Gr通道分量值,并按照从大到小或者从小到大的顺序进行排列后,计算排列后的8个像素点的中位数,得到第二像素中值。
而后梯度值计算单元153分别计算第一梯度值、第二梯度值和第三梯度值;所述第一梯度值为当前像素点的像素值与第一像素中值的差,所述第二梯度值为当前像素点的像素值与第二像素中值的差,所述第三梯度值为第一像素中值与第二像素中值的差。
而后第一判断单元112对第一梯度值、第二梯度值和第三梯度值三者进行第一判断,所述第一判断包括两个判断步骤:第一个是:判断第一梯度值与第二梯度值的符号是否不同,若是则判定当前像素点不是疑似坏点。
对于一幅图像而言,图像内某一区块一般属于同一个集群范围(即像素值相差不会很大),第一像素中值反应为以当前像素为中心、3x3子块范围大小内其他像素点的像素值(即第一梯度范围内)的抽样情况;第二像素中值反应为以当前像素点为中心、5x5子块大小范围内外围像素点的像素值(即第二梯度范围内)的抽样情况。如果当前像素点是疑似坏点,那么其像素值一般远大于或者远小于同一区块内的其他像素点,即第一梯度值与第二梯度值的符号应该相同。反之,如果第一梯度值与第二梯度值的符号不同,则可以判定当前像素点不是疑似坏点。
如果第一梯度值与第二梯度值的符号相同,也有可能存在着以下情况:当前像素点的像素值只是略大于或略小于第一像素中值和第二像素中值。这种情况下一般不认为当前像素点为疑似坏点,为此需要将这部分像素点排除,以免影响图像的细节。因而在第一判断的第一个判断步骤“判断第一梯度值与第二梯度值的符号是否不同”的判断结果为否(即第一梯度值和第二梯度值的符号相同)时,则可以进入第一判断的第二个判断步骤:判断第一梯度值的绝对值与第三梯度值的绝对值的商是否大于第一预设误差,若是则进入判定当前像素点为疑似坏点,否则判定当前像素点不是疑似坏点。
第一预设误差的选取可以根据实际需要进行调整,例如可以根据当前像素点像素通道的不同配置不同的第一预设误差值,具体为:当前像素点的像素通道为R通道或B通道时,第一预设误差值选取上比当前像素点的像素通道为G通道(包括Gr通道和Gb通道)时来得小,因为人眼对R通道或B通道的敏感程度不如G通道。通过针对不同像素通道设置不同的第一预设误差值,可以有效提高坏点检测的准确率。若第一梯度值的绝对值与第三梯度值的绝对值的商大于第一预设误差,说明当前像素点的像素值远比第一像素中值、第二像素中值来得大或小,因而可以判定当前像素点为疑似坏点。
而后记录单元104记录第一判断结果,所述第一判断结果包括当前像素点为疑似坏点或当前像素点不是疑似坏点。第一判断结果可以与其他方法的判断结果进行进一步的逻辑运算,从而提高坏点检测的精度。
在某些实施例中,所述计算单元103包括二阶梯度均值计算单元163、最小二阶梯度均值计算单元173、纹理值计算单元183,所述判断单元102包括第二判断单元122。
所述二阶梯度均值计算单元163用于计算以当前像素点为中心,预设像素区块内所有像素点在不同预设方向上的二阶梯度均值。每一个预设方向对应一个二阶梯度均值。为了便于说明,下面以预设像素区块为以当前像素点为中心、3x3大小的子块为例对二阶梯度均值计算单元163计算二阶梯度均值的方式做进一步说明。
如图4所示,3x3子块被划分为4个预设方向(包括水平方向、垂直方向、135度方向和45度方向)。以水平方向为例,其包含这三组像素点,像素点C1、C2、C3为一组,像素点C4、C5、C6为一组,像素点C7、C8、C9为一组,每一组像素点都对应一个二阶梯度值。二阶梯度是图像处理领域一种最有效的找边方法,以像素点C1、C2、C3这组为例,二阶梯度值可以通过以下公式计算得出:A1=2*C2-C1-C3,其中,A1为二阶梯度值,C1、C2、C3分别为像素点C1、C2、C3对应的像素值,像素点C1、C2、C3位于同一条直线上,像素点C2位于像素点C1和像素点C3之间。同理,对于像素点C4、C5、C6以及像素点C7、C8、C9也可以计算得出对应的二阶梯度值A2和A3,再对A1、A2、A3取平均值,即可得到在水平方向的二阶梯度均值。垂直方向上同理可得,同样可以得到一个在垂直方向的二阶梯度均值。
对于135度方向而言,在计算该方向的二阶梯度均值时,由于135度方向上的直线只涵盖了C4、C8,为了便于计算,因而将像素点C7一起并入C4、C8的分组中。即将像素点C1、C5、C9分为一组,像素点C4、C7、C8分为一组,像素点C2、C3、C6分为一组。以像素点C4、C7、C8为例,二阶梯度值可以通过以下公式计算得出:A4=2*C7-C4-C8。同样也可以算出其他两组对应的二阶梯度值A5和A6,再对A4、A5、A6取平均值,即可得到在135度方向的二阶梯度均值。45度上同理可得,同样可以得到一个在45度方向的二阶梯度均值。
在某些实施例中,预设像素区块还可以为其他大小,如5x5子块、3x5子块、7x7子块等。对于5x5子块而言,以计算水平方向上的二阶梯度均值为例,水平方向上的二阶梯度均值为5个水平方向上二阶梯度值的平均值,假设某一个水平方向上的从左到右像素点依次为C1、C2、C3、C4、C5,则在该水平方向上的二阶梯度值可以通过以下方式得到:先计算C1、C2像素值的平均值,得到C1’;而后计算C4、C5像素值的平均值,得到C2’;再通过公式2C3-C1’-C2’得到该水平方向的二阶梯度值。其余4个水平方向的二阶梯度值的求法同理可得,取5个二阶梯度值的平均值即为5x5子块像素点对应的水平方向上的二阶梯度均值。其余方向二阶梯度均值的求法可以5x5水平二阶梯度均值以及3x3在其余方向的二阶梯度均值的求法,此处不再赘述。
对于7x7子块而言,同样以计算水平方向上的二阶梯度均值为例,水平方向上的二阶梯度均值为7个水平方向上二阶梯度值的平均值,假设某一个水平方向上的从左到右像素点依次为C1、C2、C3、C4、C5、C6、C7,则在该水平方向上的二阶梯度值可以通过以下方式得到:先计算C1、C2、C3像素值的平均值,得到C3’;再计算C3、C4、C5像素值的平均值,得到C4’;而后计算C5、C6、C7像素值的平均值,得到C5’;再通过公式2C4’-C3’-C5’得到该水平方向的二阶梯度值。其余4个水平方向的二阶梯度值的求法同理可得,取7个二阶梯度值的平均值即为7x7子块像素点对应的水平方向上的二阶梯度均值。其余方向二阶梯度均值的求法可以7x7水平二阶梯度均值以及3x3在其余方向的二阶梯度均值的求法,此处不再赘述。
所述最小二阶梯度均值计算单元173用于对计算得出的所有二阶梯度均值取最小值,得到最小二阶梯度均值并记录。同样以预设像素区块为3x3子块为例,最小二阶梯度均值即为4个方向上计算得出的4个二阶梯度均值中的最小值。最小二阶梯度均值即为“边”,如果当前像素点是坏点,那么最小二阶梯度均值往往较大,因而可以通过事先确定一预设阈值,再将最小二阶梯度均值与预设阈值进行比较,进而判断当前像素点是否是坏点。
所述纹理值计算单元183用于计算像素区块内的像素点对应的纹理值,得到纹理值。像素区块的纹理值反映了该像素区块内所具备的高频信息的丰富程度,纹理值越丰富,其对应的梯度值也就越大。如图4的3x3子块的纹理值可以通过以下方式计算得出:texture=(|△31|+|△64|+|△97|+|△71|+|△82|+|△93|+|△91|)/7。其中,texture表示纹理值,△31=C3-C1(C3、C1分别为像素点C3、C1对应的像素值)。即分别计算3x3子块内,除了中心像素点之外,其余像素点中两两不相邻的像素点之间的梯度均值。对于其他大小的子块,同理可得,此处不再赘述。
所述第二判断单元122用于对最小二阶梯度均值与纹理值进行第二判断,所述记录单元还用于记录第二判断结果,所述第二判断包括:判断最小二阶梯度均值与纹理值的差是否大于第二预设误差,若是则判定当前像素点为疑似坏点,否则判定当前像素点为非疑似坏点。第二预设误差的选值可以根据实际需要自定义,在本实施方式中,所述第二预设误差根据当前像素点的通道类型确定,理由如第一预设误差的选值。
为了进一步提高坏点检测的准确度,在本实施方式中,所述装置还包括逻辑运算单元105,所述逻辑运算单元用于对第一判断结果和第二判断结果进行第一逻辑运算,若第一逻辑运算结果为真则判定当前像素点为坏点,若第一逻辑运算结果为假则判定当前像素不是坏点。第一逻辑运算可以为“与”运算,即第一判断结果和第二判断结果均判断当前像素点为疑似坏点时,才认定当前像素点为坏点,否则认定当前像素点不是坏点。这样有利于图像边缘高频信息的保护,达到更好的保护效果,提高坏点检测的准确率。
第一逻辑运算判定当前像素点是坏点后,就需要对当前像素点进行替换,以便恢复图像的细节特性。因而在本实施方式中,所述装置包括排序单元106和坏点替换单元107,所述像素中值计算单元113还包括第三像素中值计算单元143。所述像素获取单元121用于获取NxM大小的像素区块内所有像素点的像素值,所述排序单元106用于根据像素值的大小将所获取的所有像素点进行顺序排列,得到一像素值序列,每一排列后的像素点对应一排列编号;所述第三像素中值计算单元143用于计算像素值序列的中位数,得到第三像素中值;所述坏点替换单元107用于对判定为坏点的像素点采用第三像素中值替换其原有的像素值。
在某些实施例中,所述装置还包括排序单元106和指定像素确定单元108,所述计算单元103包括差值计算单元193,所述差值计算单元193包括第一差值计算单元191和第二差值计算单元192;所述像素中值计算单元113还包括第三像素中值计算单元143;所述判断单元102包括第三判断单元132;
所述像素获取单元121用于获取预设大小的像素区块内所有像素点的像素值,所述排序单元用于根据像素值的大小将所获取的所有像素点进行顺序排列,得到一像素值序列,每一排列后的像素点对应一排列编号。预设大小的像素区块依然是以当前像素点为中心,预设大小为半径的区块,例如以当前像素点为中心的3x3子块。若当前像素点位于图像上边缘位置,则可以获取当前像素点右边和下边的像素子区块,例如子区块只占预设大小的像素区块的1/4,则可以将所获取的子区块的像素点对称到左边和上边,从而构成完整的像素区块。
所述第三像素中值计算单元143用于计算像素值序列的中位数,得到第三像素中值。
所述指定像素确定单元108用于根据预设边界阈值,从像素值序列中确定一个指定小像素值和一个指定大像素值。所述指定小像素值为排列编号为编号指定小值的像素点对应的像素值,所述编号指定小值为像素值最小的像素点的排列编号与预设边界阈值的差的绝对值;所述指定大像素值为排列编号为编号指定大值的像素点对应的像素值,所述编号指定大值为像素值最大的像素点的排列编号与预设边界阈值的差的绝对值。
如图3所示,以预设大小的像素区块为3x3子块为例,图中序号0-8表示按照从小到大排列后的像素点对应的排列编号,当预设边界值为0时,指定小像素值为编号为0的像素点对应的像素值,即整个像素值序列中的最小值,指定大像素值为编号为8的像素点对应的像素值,即整个像素值序列中的最大值;当预设边界值为1时,指定小像素值为编号为1的像素点对应的像素值,即整个像素值序列中的第二小的像素值,指定大像素值为编号为7的像素点对应的像素值,即整个像素值序列中的第二大的像素值;当预设边界值为2时,指定小像素值为编号为2的像素点对应的像素值,即整个像素值序列中的第三小的像素值,指定大像素值为编号为6的像素点对应的像素值,即整个像素值序列中的第三大的像素值;以此类推。
所述第一差值计算单元191用于计算指定大像素值与指定小像素值之差,确定第一差值。具体包括:第一差值计算单元用于计算指定大像素值与指定小像素值之差,得到第一中间差值,并判断第一中间差值是否大于预设第一差值,若是则确定第一中间差值为第一差值,否则确定预设第一差值为第一差值。
所述第二差值计算单元192用于根据当前像素点与第三像素中值的大小关系,确定当前像素点的像素类型,并根据当前像素点的像素类型确定第二差值。在本实施方式中,所述像素类型包括max型和min型,步骤“第二差值计算单元用于根据当前像素点与第三像素中值的大小关系,确定当前像素点的像素类型,并根据当前像素点的像素类型确定第二差值”包括:当前像素点的值大于第三像素中值时,则确定当前像素点的像素类型为max型,第二差值计算单元用于计算当前像素点的像素值与指定小像素值之差,得到第二差值;当前像素点的值小于第三像素中值时,则确定当前像素点的像素类型为min型,第二差值计算单元用于计算指定大像素值与当前像素点的像素值之差,得到第二差值。
对于一个像素点正常(不存在坏点)的3x3预设区块来说,区块内的大部分像素点存在着关联,它们之间的像素点不会相差太大。在区块范围较小时,可以用集群来表示区块内所有像素点,指定小像素值和指定大像素值分别标识着该集群的上限和下限。第一差值表示这个集群的高度,第二差值表示当前像素点(中心像素点)的偏离程度。如果当前像素点是坏点,那么第二差值将远大于第一差值,因而可以通过设置预设值进行比较,来判断当前像素点是否是疑似坏点。
所述第三判断单元132用于对第一差值和第二差值进行第三判断,所述记录单元104用于记录第三判断结果.所述第三判断包括:第二差值与第一差值的商是否在大于第三预设误差,若是则判定当前像素点为疑似坏点,否则不判定当前像素点为疑似坏点。第三预设误差的值可以根据实际需要进行调整配置,第二差值与第一差值的比值大于第三预设误差,则可以判定当前像素点为疑似坏点。
在某些实施例中,所述装置还包括逻辑运算单元105。所述逻辑运算单元用于对第一判断结果、第二判断结果和第三判断结果进行第二逻辑运算,若第二逻辑运算结果为真则判定当前像素点为坏点,若第二逻辑运算结果为假则判定当前像素不是坏点。第二逻辑运算可以为“与”运算,即第一判断结果、第二判断结果、第三判断结果均判断当前像素点为疑似坏点时,才认定当前像素点为坏点,否则认定当前像素点不是坏点。当然在其他实施例中,第二逻辑运算还可以为其他运算,例如三个判断中有两个判断结果判定当前像素点为疑似坏点时,第二逻辑运算结果为真,否则为假。
在某些实施例中,所述装置还包括逻辑运算单元105,所述逻辑运算单元105用于对第一判断结果和第三判断结果进行第三逻辑运算,若第三逻辑运算结果为真则判定当前像素点为坏点,若第三逻辑运算结果为假则判定当前像素不是坏点。第三逻辑运算可以为“与”运算,即第一判断结果和第三判断结果均判断当前像素点为疑似坏点时,才认定当前像素点为坏点,否则认定当前像素点不是坏点,从而有效提高坏点检测精度。
在某些实施例中,所述判断单元102还包括第四判断单元142,所述第四判断单元142用于对像素值序列中所有像素点进行第四判断,所述记录单元104用于记录第四判断的判断结果.所述第四判断包括:判定像素值序列中,排列编号位于编号指定大值与编号最大值之间或者位于编号最小值与编号指定小值之间的像素点为疑似坏点,其他像素点为非疑似坏点;所述编号最大值为像素值最大的像素点对应的排列编号,所述编号最小值为像素值最小的像素点对应的排列编号。
对于一个像素区块内,可能只存在着一个坏点,也有可能存在着多个坏点,因而需要对此进行排查。具体做法就是将区块内所有像素点按照顺序排列(从大到小或者从小到大排列)后,默认位于两端部分的像素点为疑似坏点。以图3中预设大小的区块为3x3子块为例,图中序号0-8表示按照从小到大排列后的像素点对应的排列编号。当预设边界值为1时,指定小像素值为编号为1的像素点对应的像素值,即整个像素值序列中的第二小的像素值,指定大像素值为编号为7的像素点对应的像素值,即整个像素值序列中的第二大的像素。根据第四判断过程,将判定排列编号为0、1、7、8的像素点为疑似坏点。同理,当预设边界值为2时,将判定排列编号为0、1、2、6、7、8的像素点为疑似坏点。预设边界值为其他数值的情况,以此类推。
在某些实施例中,所述装置还包括逻辑运算单元105,所述逻辑运算单元105用于对第一判断结果、第二判断结果、第三判断结果和第四判断结果进行第四逻辑运算,若第四逻辑运算结果为真则判定当前像素点为坏点,若第四逻辑运算结果为假则判定当前像素不是坏点。第四逻辑运算可以为“与”运算,即第一判断结果、第二判断结果、第三判断结果、第四判断结果均判断当前像素点为疑似坏点时,才认定当前像素点为坏点,否则认定当前像素点不是坏点。当然在其他实施例中,第四逻辑运算还可以为其他运算,例如四个判断中有两个或三个判断结果判定当前像素点为疑似坏点时,第四逻辑运算结果为真,否则为假。
在某些实施例中,所述装置还包括逻辑运算单元105,所述逻辑运算单元105用于对第一判断结果、第三判断结果和第四判断结果进行第五逻辑运算,若第五逻辑运算结果为真则判定当前像素点为坏点,若第五逻辑运算结果为假则判定当前像素不是坏点。第五逻辑运算可以为“与”运算,即第一判断结果、第三判断结果、第四判断结果均判断当前像素点为疑似坏点时,才认定当前像素点为坏点,否则认定当前像素点不是坏点。当然在其他实施例中,第五逻辑运算还可以为其他运算,例如三个判断中有两个判断结果判定当前像素点为疑似坏点时,第五逻辑运算结果为真,否则为假。
当第二逻辑运算、第三逻辑运算、第四逻辑运算、第五逻辑运算任一项结果判定当前像素点为坏点时,就需要对当前像素点进行替换。在某些实施例中,在某些实施例中,所述装置包括坏点替换单元107,所述坏点替换单元107用于对判定为坏点的像素点采用第三像素中值替换其原有的像素值。第三像素中值即预设区块内所有像素点按照顺序排列后的中位数,采用该值替换坏点,可以有效缩小当前像素点与区块内其他像素点之间的差值,达到修复坏点、保持图像细节的目的。
在某实施例中,所述装置包括坏点替换单元107,所述坏点替换单元用于根据当前像素点的像素类型,对判定为坏点的像素点采用指定小像素值或指定大像素值替换其原有的像素值。进一步地,所述像素类型包括max型和min型,“坏点替换单元用于根据当前像素点的像素类型,对判定为坏点的像素点采用指定小像素值或指定大像素值替换其原有的像素值”具体包括:当前像素点的值大于第三像素中值时,则确定当前像素点的像素类型为max型,所述坏点替换单元用于对判定为坏点的像素点采用指定大像素值替换其原有的像素值;当前像素点的值小于第三像素中值时,则确定当前像素点的像素类型为min型,所述坏点替换单元用于对判定为坏点的像素点采用指定小像素值替换其原有的像素值。对于坏点而言,其本身可能也会携带一些图像信息,如果采用第三像素中值进行完全替换,不利于保留这些图像信息,而采用此方案相较于采用第三像素中值进行替换坏点的方案,可以更好地保持图像细节。
至此,就完成了一个像素点(当前像素点)是否为坏点的检测,对于一幅图像而言,其包含着许多像素点,在当前像素点检测完毕后,需要开始下一像素点的检测,因而所述装置还包括遍历单元109,所述遍历单元109用于以当前像素点的下一像素点为中心像素点,并判断下一像素点是否为疑似坏点,并记录判断结果;重复上述步骤,直至NxM大小的像素区块内所有像素点均遍历完成。
在实际应用过程中,对于每一像素点的判断,可以根据图10至图14中的任意一种方法来判断当前像素点是不是坏点,还可以选用这几种方法的组合进行综合性判断,还可以反复执行多次这几种方法的组合来判断。简言之,坏点检测方法选择上有多种选择,检测人员可以根据实际需要来选用。检测效果如图5-A、图5-B、图5-C所示,每幅图中的左边表示原始图像,中间表示检测出的坏点,右边表示经过坏点替换修复的图像,可以明显看出右边的图像比左边图像整体更加平滑,用户的感官体验更好。
本发明公开了一种图像坏点检测方法和装置,所述方法针对bayer格式的图像进行坏点检测,根据当前像素点的位置以及与周围像素点的对应关系,计算第一梯度值、第二梯度值和第三梯度值,并通过比较三者之间的关系,来判断当前像素点是否是疑似坏点。由于是基于图像上坏点属性来查找坏点的,相较于现有的坏点检测方法,缩小了硬件面积。同时对图像上的像素点逐一排查,有利于发现更多的疑似坏点,进而在疑似坏点中进行排查,有效提高坏点检测的效率。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,包括但不限于:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
上述各实施例是参照根据实施例所述的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。
Claims (38)
1.一种图像坏点检测方法,其特征在于,所述图像为bayer格式图像,像素点的像素通道包括Gr通道、Gb通道、B通道和R通道,则每个像素点对应的像素值为Gr通道分量值、Gb通道分量值、R通道分量值、B通道分量值中的一种,所述方法包括以下步骤:
以当前像素点为中心像素点,获取图像上NxM大小的像素区块;
获取与当前像素点距离为第一距离、且像素通道为Gr通道或Gb通道对应的所有像素点的像素值,并计算这些像素点的像素值的中位数,得到第一像素中值;
获取与当前像素点距离为第二距离、且像素通道为Gr通道或Gb通道对应的所有像素点的像素值,并计算这些像素点的像素值的中位数,得到第二像素中值;所述第二距离大于第一距离;
分别计算第一梯度值、第二梯度值和第三梯度值;所述第一梯度值为当前像素点的像素值与第一像素中值的差,所述第二梯度值为当前像素点的像素值与第二像素中值的差,所述第三梯度值为第一像素中值与第二像素中值的差;
对第一梯度值、第二梯度值和第三梯度值三者进行第一判断,所述第一判断包括:判断第一梯度值与第二梯度值的符号是否不同,若是则判定当前像素点不是疑似坏点,否则判断第一梯度值的绝对值与第三梯度值的绝对值的商是否大于第一预设误差,若是则判定当前像素点为疑似坏点,否则判定当前像素点不是疑似坏点;
记录第一判断结果,所述第一判断结果包括当前像素点为疑似坏点或当前像素点不是疑似坏点。
2.如权利要求1所述的图像坏点检测方法,其特征在于,所述方法还包括步骤:
计算以当前像素点为中心,预设像素区块内所有像素点在不同预设方向上的二阶梯度均值,每一个预设方向对应一个二阶梯度均值;
对计算得出的所有二阶梯度均值取最小值,得到最小二阶梯度均值并记录;
计算预设像素区块内像素点对应的纹理值,得到纹理值;
对最小二阶梯度均值与纹理值进行第二判断,并记录第二判断结果,所述第二判断包括:判断最小二阶梯度均值与纹理值的差是否大于第二预设误差,若是则判定当前像素点为疑似坏点,否则判定当前像素点为非疑似坏点。
3.如权利要求2所述的图像坏点检测方法,其特征在于,所述第二预设误差根据当前像素点的通道类型确定。
4.如权利要求2所述的图像坏点检测方法,其特征在于,所述方法包括:
对第一判断结果和第二判断结果进行第一逻辑运算,若第一逻辑运算结果为真则判定当前像素点为坏点,若第一逻辑运算结果为假则判定当前像素不是坏点。
5.如权利要求4所述的图像坏点检测方法,其特征在于,所述方法包括:
获取NxM大小的像素区块内所有像素点的像素值,并根据像素值的大小将所获取的所有像素点进行顺序排列,得到一像素值序列,每一排列后的像素点对应一排列编号;
计算像素值序列的中位数,得到第三像素中值;
对判定为坏点的像素点采用第三像素中值替换其原有的像素值。
6.如权利要求1或2所述的图像坏点检测方法,其特征在于,所述方法包括以下步骤:
获取预设大小的像素区块内所有像素点的像素值,并根据像素值的大小将所获取的所有像素点进行顺序排列,得到一像素值序列,每一排列后的像素点对应一排列编号;
计算像素值序列的中位数,得到第三像素中值;
根据预设边界阈值,从像素值序列中确定一个指定小像素值和一个指定大像素值,所述指定小像素值为排列编号为编号指定小值的像素点对应的像素值,所述编号指定小值为像素值最小的像素点的排列编号与预设边界阈值的差的绝对值;所述指定大像素值为排列编号为编号指定大值的像素点对应的像素值,所述编号指定大值为像素值最大的像素点的排列编号与预设边界阈值的差的绝对值;
计算指定大像素值与指定小像素值之差,确定第一差值;
根据当前像素点与第三像素中值的大小关系,确定当前像素点的像素类型,并根据当前像素点的像素类型确定第二差值;
对第一差值和第二差值进行第三判断,并记录第三判断结果;所述第三判断包括:第二差值与第一差值的商是否在大于第三预设误差,若是则判定当前像素点为疑似坏点,否则不判定当前像素点为疑似坏点。
7.如权利要求6所述的图像坏点检测方法,其特征在于,所述方法还包括步骤:
对第一判断结果、第二判断结果和第三判断结果进行第二逻辑运算,若第二逻辑运算结果为真则判定当前像素点为坏点,若第二逻辑运算结果为假则判定当前像素不是坏点。
8.如权利要求6所述的图像坏点检测方法,其特征在于,所述方法还包括步骤:
对第一判断结果和第三判断结果进行第三逻辑运算,若第三逻辑运算结果为真则判定当前像素点为坏点,若第三逻辑运算结果为假则判定当前像素不是坏点。
9.如权利要求6所述的图像坏点检测方法,其特征在于,所述方法还包括步骤:
对像素值序列中所有像素点进行第四判断,并记录判断结果;所述第四判断包括:判定像素值序列中,排列编号位于编号指定大值与编号最大值之间或者位于编号最小值与编号指定小值之间的像素点为疑似坏点,其他像素点为非疑似坏点;所述编号最大值为像素值最大的像素点对应的排列编号,所述编号最小值为像素值最小的像素点对应的排列编号。
10.如权利要求9所述的图像坏点检测方法,其特征在于,所述方法还包括步骤:
对第一判断结果、第二判断结果、第三判断结果和第四判断结果进行第四逻辑运算,若第四逻辑运算结果为真则判定当前像素点为坏点,若第四逻辑运算结果为假则判定当前像素不是坏点。
11.如权利要求9所述的图像坏点检测方法,其特征在于,所述方法还包括步骤:
对第一判断结果、第三判断结果和第四判断结果进行第五逻辑运算,若第五逻辑运算结果为真则判定当前像素点为坏点,若第五逻辑运算结果为假则判定当前像素不是坏点。
12.如权利要求7或8或10或11所述的图像坏点检测方法,其特征在于,在步骤“判定当前像素点为坏点”之后还包括步骤:
对判定为坏点的像素点采用第三像素中值替换其原有的像素值。
13.如权利要求7或8或10或11所述的图像坏点检测方法,其特征在于,在步骤“判定当前像素点为坏点”之后还包括步骤:
根据当前像素点的像素类型,对判定为坏点的像素点采用指定小像素值或指定大像素值替换其原有的像素值。
14.如权利要求13所述的图像坏点检测方法,其特征在于,所述像素类型包括max型和min型,在步骤“根据当前像素点的像素类型,对判定为坏点的像素点采用指定小像素值或指定大像素值替换其原有的像素值”具体包括:
当前像素点的值大于第三像素中值时,则确定当前像素点的像素类型为max型,对判定为坏点的像素点采用指定大像素值替换其原有的像素值;
当前像素点的值小于第三像素中值时,则确定当前像素点的像素类型为min型,对判定为坏点的像素点采用指定小像素值替换其原有的像素值。
15.如权利要求6所述的图像坏点检测方法,其特征在于,所述步骤“计算指定大像素值与指定小像素值之差,确定第一差值”包括:
计算指定大像素值与指定小像素值之差,得到第一中间差值;
判断第一中间差值是否大于预设第一差值,若是则确定第一中间差值为第一差值,否则确定预设第一差值为第一差值。
16.如权利要求6所述的图像坏点检测方法,其特征在于,所述像素类型包括max型和min型,步骤“根据当前像素点与第三像素中值的大小关系,确定当前像素点的像素类型,并根据当前像素点的像素类型确定第二差值”包括:
当前像素点的值大于第三像素中值时,则确定当前像素点的像素类型为max型,所述第二差值为当前像素点的像素值与指定小像素值之差;
当前像素点的值小于第三像素中值时,则确定当前像素点的像素类型为min型,所述第二差值为指定大像素值与当前像素点的像素值之差。
17.如权利要求6所述的图像坏点检测方法,其特征在于,所述步骤“以当前像素点为中心像素点,获取图像上NxM大小的像素区块”包括:
以当前像素点为中心像素点,从图像上获取TxS子块,再从所述TxS子块中获取NxM像素区块。
18.如权利要求17所述的图像坏点检测方法,其特征在于,所述TxS子块为5x5子块,则所述NxM大小的像素区块为3x3子块。
19.如权利要求1所述的图像坏点检测方法,其特征在于,所述方法包括:
以当前像素点的下一像素点为中心像素点,并判断下一像素点是否为疑似坏点,并记录判断结果;重复上述步骤,直至NxM大小的像素区块内所有像素点均遍历完成。
20.一种图像坏点检测装置,其特征在于,所述图像为bayer格式图像,像素点的像素通道包括Gr通道、Gb通道、B通道和R通道,则每个像素点对应的像素值为Gr通道分量值、Gb通道分量值、R通道分量值、B通道分量值中的一种,所述装置包括获取单元、判断单元、计算单元和记录单元;所述获取单元包括像素区块获取单元和像素获取单元,所述计算单元包括像素中值计算单元和梯度值计算单元,所述像素中值计算单元包括第一像素中值计算单元和第二像素中值计算单元,所述判断单元包括第一判断单元,
所述像素区块获取单元用于获取以当前像素点为中心像素点、图像上NxM大小的像素区块;
所述像素获取单元用于获取与当前像素点距离为第一距离、且像素通道为Gr通道或Gb通道对应的所有像素点的像素值,所述第一像素中值计算单元用于计算这些像素点的像素值的中位数,得到第一像素中值;
所述像素获取单元还用于获取与当前像素点距离为第二距离、且像素通道为Gr通道或Gb通道对应的所有像素点的像素值,所述第二像素中值计算单元用于计算这些像素点的像素值的中位数,得到第二像素中值;所述第二距离大于第一距离;
所述梯度值计算单元用于分别计算第一梯度值、第二梯度值和第三梯度值;所述第一梯度值为当前像素点的像素值与第一像素中值的差,所述第二梯度值为当前像素点的像素值与第二像素中值的差,所述第三梯度值为第一像素中值与第二像素中值的差;
所述第一判断单元用于对第一梯度值、第二梯度值和第三梯度值三者进行第一判断,所述第一判断包括:判断第一梯度值与第二梯度值的符号是否不同,若是则判定当前像素点不是疑似坏点,否则判断第一梯度值的绝对值与第三梯度值的绝对值的商是否大于第一预设误差,若是则判定当前像素点为疑似坏点,否则判定当前像素点不是疑似坏点;
所述记录单元用于记录第一判断结果,所述第一判断结果包括当前像素点为疑似坏点或当前像素点不是疑似坏点。
21.如权利要求20所述的图像坏点检测装置,其特征在于,所述计算单元包括二阶梯度均值计算单元、最小二阶梯度均值计算单元、纹理值计算单元,所述判断单元包括第二判断单元;
所述二阶梯度均值计算单元用于计算以当前像素点为中心,预设像素区块内所有像素点在不同预设方向上的二阶梯度均值,每一个预设方向对应一个二阶梯度均值;
所述最小二阶梯度均值计算单元用于对计算得出的所有二阶梯度均值取最小值,得到最小二阶梯度均值并记录;
所述纹理值计算单元用于计算像素区块内的像素点对应的纹理值,得到纹理值;
所述第二判断单元用于对最小二阶梯度均值与纹理值进行第二判断,所述记录单元还用于记录第二判断结果,所述第二判断包括:判断最小二阶梯度均值与纹理值的差是否大于第二预设误差,若是则判定当前像素点为疑似坏点,否则判定当前像素点为非疑似坏点。
22.如权利要求21所述的图像坏点检测装置,其特征在于,所述第二预设误差根据当前像素点的通道类型确定。
23.如权利要求21所述的图像坏点检测装置,其特征在于,所述装置还包括逻辑运算单元;
所述逻辑运算单元用于对第一判断结果和第二判断结果进行第一逻辑运算,若第一逻辑运算结果为真则判定当前像素点为坏点,若第一逻辑运算结果为假则判定当前像素不是坏点。
24.如权利要求23所述的图像坏点检测装置,其特征在于,所述装置还包括排序单元和坏点替换单元,所述像素中值计算单元还包括第三像素中值计算单元;
所述像素获取单元用于获取NxM大小的像素区块内所有像素点的像素值,所述排序单元用于根据像素值的大小将所获取的所有像素点进行顺序排列,得到一像素值序列,每一排列后的像素点对应一排列编号;
所述第三像素中值计算单元用于计算像素值序列的中位数,得到第三像素中值;
所述坏点替换单元用于对判定为坏点的像素点采用第三像素中值替换其原有的像素值。
25.如权利要求20或21所述的图像坏点检测装置,其特征在于,所述装置还包括排序单元和指定像素确定单元,所述计算单元包括差值计算单元,所述差值计算单元包括第一差值计算单元和第二差值计算单元;所述像素中值计算单元还包括第三像素中值计算单元;所述判断单元包括第三判断单元;
所述像素获取单元用于获取预设大小的像素区块内所有像素点的像素值,所述排序单元用于根据像素值的大小将所获取的所有像素点进行顺序排列,得到一像素值序列,每一排列后的像素点对应一排列编号;
所述第三像素中值计算单元用于计算像素值序列的中位数,得到第三像素中值;
所述指定像素确定单元用于根据预设边界阈值,从像素值序列中确定一个指定小像素值和一个指定大像素值,所述指定小像素值为排列编号为编号指定小值的像素点对应的像素值,所述编号指定小值为像素值最小的像素点的排列编号与预设边界阈值的差的绝对值;所述指定大像素值为排列编号为编号指定大值的像素点对应的像素值,所述编号指定大值为像素值最大的像素点的排列编号与预设边界阈值的差的绝对值;
所述第一差值计算单元用于计算指定大像素值与指定小像素值之差,确定第一差值;
所述第二差值计算单元用于根据当前像素点与第三像素中值的大小关系,确定当前像素点的像素类型,并根据当前像素点的像素类型确定第二差值;
所述第三判断单元用于对第一差值和第二差值进行第三判断,所述记录单元用于记录第三判断结果;所述第三判断包括:第二差值与第一差值的商是否在大于第三预设误差,若是则判定当前像素点为疑似坏点,否则不判定当前像素点为疑似坏点。
26.如权利要求25所述的图像坏点检测装置,其特征在于,所述装置还包括逻辑运算单元;
所述逻辑运算单元用于对第一判断结果、第二判断结果和第三判断结果进行第二逻辑运算,若第二逻辑运算结果为真则判定当前像素点为坏点,若第二逻辑运算结果为假则判定当前像素不是坏点。
27.如权利要求25所述的图像坏点检测装置,其特征在于,所述装置还包括逻辑运算单元;
所述逻辑运算单元用于对第一判断结果和第三判断结果进行第三逻辑运算,若第三逻辑运算结果为真则判定当前像素点为坏点,若第三逻辑运算结果为假则判定当前像素不是坏点。
28.如权利要求25所述的图像坏点检测装置,其特征在于,所述判断单元还包括第四判断单元;
所述第四判断单元用于对像素值序列中所有像素点进行第四判断,所述记录单元用于记录第四判断的判断结果;所述第四判断包括:判定像素值序列中,排列编号位于编号指定大值与编号最大值之间或者位于编号最小值与编号指定小值之间的像素点为疑似坏点,其他像素点为非疑似坏点;所述编号最大值为像素值最大的像素点对应的排列编号,所述编号最小值为像素值最小的像素点对应的排列编号。
29.如权利要求28所述的图像坏点检测装置,其特征在于,所述装置还包括逻辑运算单元;
所述逻辑运算单元用于对第一判断结果、第二判断结果、第三判断结果和第四判断结果进行第四逻辑运算,若第四逻辑运算结果为真则判定当前像素点为坏点,若第四逻辑运算结果为假则判定当前像素不是坏点。
30.如权利要求28所述的图像坏点检测装置,其特征在于,装置还包括逻辑运算单元;
所述逻辑运算单元用于对第一判断结果、第三判断结果和第四判断结果进行第五逻辑运算,若第五逻辑运算结果为真则判定当前像素点为坏点,若第五逻辑运算结果为假则判定当前像素不是坏点。
31.如权利要求26或27或29或30所述的图像坏点检测装置,其特征在于,所述装置包括坏点替换单元;
所述坏点替换单元用于对判定为坏点的像素点采用第三像素中值替换其原有的像素值。
32.如权利要求26或27或29或30所述的图像坏点检测装置,其特征在于,所述装置包括坏点替换单元;
所述坏点替换单元用于根据当前像素点的像素类型,对判定为坏点的像素点采用指定小像素值或指定大像素值替换其原有的像素值。
33.如权利要求32所述的图像坏点检测装置,其特征在于,所述像素类型包括max型和min型,“坏点替换单元用于根据当前像素点的像素类型,对判定为坏点的像素点采用指定小像素值或指定大像素值替换其原有的像素值”具体包括:
当前像素点的值大于第三像素中值时,则确定当前像素点的像素类型为max型,所述坏点替换单元用于对判定为坏点的像素点采用指定大像素值替换其原有的像素值;
当前像素点的值小于第三像素中值时,则确定当前像素点的像素类型为min型,所述坏点替换单元用于对判定为坏点的像素点采用指定小像素值替换其原有的像素值。
34.如权利要求25所述的图像坏点检测装置,其特征在于,所述“第一差值计算单元用于计算指定大像素值与指定小像素值之差,确定第一差值”包括:
第一差值计算单元用于计算指定大像素值与指定小像素值之差,得到第一中间差值,并判断第一中间差值是否大于预设第一差值,若是则确定第一中间差值为第一差值,否则确定预设第一差值为第一差值。
35.如权利要求25所述的图像坏点检测装置,其特征在于,所述像素类型包括max型和min型,“第二差值计算单元用于根据当前像素点与第三像素中值的大小关系,确定当前像素点的像素类型,并根据当前像素点的像素类型确定第二差值”包括:
当前像素点的值大于第三像素中值时,则确定当前像素点的像素类型为max型,第二差值计算单元用于计算当前像素点的像素值与指定小像素值之差,得到第二差值;
当前像素点的值小于第三像素中值时,则确定当前像素点的像素类型为min型,第二差值计算单元用于计算指定大像素值与当前像素点的像素值之差,得到第二差值。
36.如权利要求25所述的图像坏点检测装置,其特征在于,所述“像素区块获取单元用于获取以当前像素点为中心像素点、图像上NxM大小的像素区块”包括:
所述像素区块获取单元用于获取以当前像素点为中心像素点、图像上TxS大小的子块,再从所述TxS大小的子块中获取NxM像素区块。
37.如权利要求36所述的图像坏点检测装置,其特征在于,所述TxS子块为5x5子块,则所述NxM大小的像素区块为3x3子块。
38.如权利要求20所述的图像坏点检测装置,其特征在于,所述装置还包括遍历单元;
所述遍历单元用于以当前像素点的下一像素点为中心像素点,并判断下一像素点是否为疑似坏点,并记录判断结果;重复上述步骤,直至NxM大小的像素区块内所有像素点均遍历完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710188593.2A CN107016670B (zh) | 2017-03-27 | 2017-03-27 | 一种图像坏点检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710188593.2A CN107016670B (zh) | 2017-03-27 | 2017-03-27 | 一种图像坏点检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107016670A CN107016670A (zh) | 2017-08-04 |
CN107016670B true CN107016670B (zh) | 2019-06-28 |
Family
ID=59445164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710188593.2A Active CN107016670B (zh) | 2017-03-27 | 2017-03-27 | 一种图像坏点检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107016670B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109660788B (zh) * | 2017-10-10 | 2020-12-22 | 凌云光技术股份有限公司 | 坏簇检测方法及装置 |
EP3688981B1 (en) | 2017-10-19 | 2024-02-28 | Zhejiang Dahua Technology Co., Ltd. | Methods and devices for processing images |
CN108765306A (zh) * | 2018-04-17 | 2018-11-06 | 浙江华睿科技有限公司 | 一种图像坏点矫正方法、装置、电子设备及介质 |
CN110650334B (zh) * | 2019-10-29 | 2021-01-22 | 锐芯微电子股份有限公司 | 坏点检测、校正方法及装置、存储介质、终端 |
CN110891172B (zh) * | 2019-12-31 | 2021-07-16 | 上海富瀚微电子股份有限公司 | 坏点检测及校正装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101352048A (zh) * | 2005-12-29 | 2009-01-21 | 安泰科技有限公司 | 坏点处理装置 |
CN102750681A (zh) * | 2012-07-04 | 2012-10-24 | 青岛海信信芯科技有限公司 | 图像边缘锐化的处理装置和处理方法 |
TW201334526A (zh) * | 2012-02-10 | 2013-08-16 | Novatek Microelectronics Corp | 適應性影像處理方法及其相關裝置 |
TW201419853A (zh) * | 2012-11-09 | 2014-05-16 | Ind Tech Res Inst | 影像處理器及其影像壞點偵測方法 |
CN104463891A (zh) * | 2014-12-22 | 2015-03-25 | 西安电子科技大学 | 一种基于最小中值梯度滤波的坏点检测及校正方法 |
CN104700424A (zh) * | 2015-03-30 | 2015-06-10 | 山东省计量科学研究院 | 医用彩色电子内窥镜图像坏点检测装置 |
CN105894459A (zh) * | 2015-12-10 | 2016-08-24 | 乐视云计算有限公司 | 基于梯度值及梯度方向的图像锐化方法及装置 |
CN106412542A (zh) * | 2016-02-03 | 2017-02-15 | 周彩章 | 一种图像处理方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120008017A1 (en) * | 2010-07-07 | 2012-01-12 | Jeong Yeon-U | Image sensor and pixel correction method |
-
2017
- 2017-03-27 CN CN201710188593.2A patent/CN107016670B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101352048A (zh) * | 2005-12-29 | 2009-01-21 | 安泰科技有限公司 | 坏点处理装置 |
TW201334526A (zh) * | 2012-02-10 | 2013-08-16 | Novatek Microelectronics Corp | 適應性影像處理方法及其相關裝置 |
CN102750681A (zh) * | 2012-07-04 | 2012-10-24 | 青岛海信信芯科技有限公司 | 图像边缘锐化的处理装置和处理方法 |
TW201419853A (zh) * | 2012-11-09 | 2014-05-16 | Ind Tech Res Inst | 影像處理器及其影像壞點偵測方法 |
CN104463891A (zh) * | 2014-12-22 | 2015-03-25 | 西安电子科技大学 | 一种基于最小中值梯度滤波的坏点检测及校正方法 |
CN104700424A (zh) * | 2015-03-30 | 2015-06-10 | 山东省计量科学研究院 | 医用彩色电子内窥镜图像坏点检测装置 |
CN105894459A (zh) * | 2015-12-10 | 2016-08-24 | 乐视云计算有限公司 | 基于梯度值及梯度方向的图像锐化方法及装置 |
CN106412542A (zh) * | 2016-02-03 | 2017-02-15 | 周彩章 | 一种图像处理方法及系统 |
Non-Patent Citations (2)
Title |
---|
"Low complexity photo sensor dead pixel detection algorithm";Chien-Wei Chen et al.;《IEEExplore》;20130124;全文 |
"Research of camera module sensor dead pixel detection";Xingheng Wang et al.;《IEEExplore》;20120806;全文 |
Also Published As
Publication number | Publication date |
---|---|
CN107016670A (zh) | 2017-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107016669B (zh) | 一种图像坏点检测方法和装置 | |
CN107016670B (zh) | 一种图像坏点检测方法和装置 | |
Tang et al. | Pixel convolutional neural network for multi-focus image fusion | |
CN102520796B (zh) | 一种基于逐步回归分析映射模型的视线跟踪方法 | |
CN105912990B (zh) | 人脸检测的方法及装置 | |
Gupta et al. | Aligning 3D models to RGB-D images of cluttered scenes | |
Hussin et al. | Digital image processing techniques for object detection from complex background image | |
CN105574527B (zh) | 一种基于局部特征学习的快速物体检测方法 | |
CN105335725B (zh) | 一种基于特征融合的步态识别身份认证方法 | |
CN106951870B (zh) | 主动视觉注意的监控视频显著事件智能检测预警方法 | |
CN105894464B (zh) | 一种中值滤波图像处理方法和装置 | |
CN104504410A (zh) | 基于三维点云的三维人脸识别装置和方法 | |
CN104346802B (zh) | 一种人员离岗监控方法及设备 | |
CN107688784A (zh) | 一种基于深层特征和浅层特征融合的字符识别方法及存储介质 | |
CN105139004A (zh) | 基于视频序列的人脸表情识别方法 | |
CN107194361A (zh) | 二维姿势检测方法及装置 | |
Yu et al. | An object-based visual attention model for robotic applications | |
Gopinath et al. | A deep learning framework for segmentation of retinal layers from OCT images | |
CN104751146B (zh) | 一种基于3d点云图像的室内人体检测方法 | |
CN110544233B (zh) | 基于人脸识别应用的深度图像质量评价方法 | |
CN109410168A (zh) | 用于确定图像中的子图块的类别的卷积神经网络模型的建模方法 | |
CN109684959A (zh) | 基于肤色检测和深度学习的视频手势的识别方法及装置 | |
CN110084258A (zh) | 基于视频人脸识别的人脸优选方法、设备及存储介质 | |
CN103996052A (zh) | 基于三维点云的三维人脸性别分类装置及方法 | |
CN110309010B (zh) | 用于电力设备相位分辩的局放网络训练方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 350003 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China Patentee after: Ruixin Microelectronics Co., Ltd Address before: 350003 building, No. 89, software Avenue, Gulou District, Fujian, Fuzhou 18, China Patentee before: Fuzhou Rockchips Electronics Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |