本发明涉及图像处理,特别涉及一种校正图像坏点的方法及装置、计算机存储介质。
背景技术:
1、图像传感器,或称感光元件,是一种将光学图像转换成电子信号的设备,它被广泛地应用在数码相机和其他电子光学设备中。早期的图像传感器采用模拟信号,如摄像管;随着数码技术、半导体制造技术以及网络的迅速发展,目前常用的图像传感器产品主要分为ccd图像传感器、cmos图像传感器两种。
2、ccd和cmos的主要参数包括像元尺寸、灵敏度、坏点数和光谱响应等,其中坏点数是指芯片中的坏点(不能有效成像的像元或相应不一致性大于参数允许范围的像元)的数量,是衡量芯片质量的重要参数。但是由于受到制造工艺的限制,对于有几百万像素点的传感器而言,所有的像元都是好的情况几乎不太可能,因此不可避免地会在采集到的原始图像上产生一些坏点,此外,由于图像传感器硬件原因,在采集原始图像时还会随机地产生一些坏点,行业内将这种坏点称之为动态坏点。若不对这些坏点进行后期的校正处理,则这些坏点会因后续的去马赛克和各种图像滤波操作等向周围扩散形成带颜色的点簇,显著降低图像质量,影响观感。
3、现有的对坏点校正的方法,通常需花费大量的硬件存储资源,这无疑增加了成本花费;而若限制硬件存储资源的使用,则坏点校正的效果又较差。
技术实现思路
1、本发明的目的在于提供一种校正图像坏点的方法及装置、计算机存储介质,以解决如何在不占用过多的硬件存储资源的同时提高坏点校正的效果的问题。
2、为解决上述技术问题,本发明提供一种校正图像坏点的方法,包括:
3、获取raw图像;
4、以raw图像中的当前像素为基准,提取m行n列的缓存窗口,其中m≥2、n≥7;
5、在缓存窗口内的特定位置插值计算出当前像素的同色像素值;
6、根据当前像素偏离同色像素值的偏差值中的最大值或最小值,判断当前像素是否为坏点;
7、若判断当前像素为坏点,则对当前像素进行校正。
8、可选的,在所述的校正图像坏点的方法中,所述以raw图像中的当前像素为基准,提取m行n列的缓存窗口的方法包括:
9、设定m和n的取值,其中,m为大于等于2的正整数,n为大于等于7的奇数;
10、以m×n的像素范围作为提取框;
11、将当前像素放置于提取框的预设位置,以提取m行n列的缓存窗口。
12、可选的,在所述的校正图像坏点的方法中,所述将当前像素放置于提取框的预设位置,以提取m行n列的缓存窗口的方法包括:
13、将当前像素放置于提取框中的处。
14、可选的,在所述的校正图像坏点的方法中,提取2行7列的缓存窗口。
15、可选的,在所述的校正图像坏点的方法中,所述在缓存窗口内的特定位置插值计算出当前像素的同色像素值的方法包括:
16、设当前像素为buff[x][y];
17、若当前像素为g,则将当前像素记为g[x][y],插值计算g[x][y-1]和g[x][y+1];
18、若当前像素为b,则将当前像素记为b[x][y],插值计算b[x-1][y-1]、b[x-1][y+1]、b[x][y-1]和b[x][y+1];
19、若当前像素为r,则将当前像素记为r[x][y],插值计算r[x-1][y-1]、r[x-1][y+1]、r[x][y-1]和r[x][y+1]。
20、可选的,在所述的校正图像坏点的方法中,所述插值计算g[x][y-1]和g[x][y+1]的方法包括:
21、g[x][y-1]的计算方式满足如下公式:
22、
23、g[x][y+1]的计算方式满足如下公式:
24、
25、可选的,在所述的校正图像坏点的方法中,所述插值计算b[x-1][y-1]、b[x-1][y+1]、b[x][y-1]和b[x][y+1]的方法包括:
26、b[x-1][y-1]的计算方式满足如下公式:
27、
28、b[x-1][y+1]的计算方式满足如下公式:
29、
30、b[x][y-1]的计算方式满足如下公式:
31、
32、b[x][y+1]的计算方式满足如下公式:
33、
34、可选的,在所述的校正图像坏点的方法中,所述插值计算r[x-1][y-1]、r[x-1][y+1]、r[x][y-1]和r[x][y+1]的方法包括:
35、r[x-1][y-1]的计算方式满足如下公式:
36、
37、r[x-1][y+1]的计算方式满足如下公式:
38、
39、r[x][y-1]的计算方式满足如下公式:
40、
41、r[x][y+1]的计算方式满足如下公式:
42、
43、可选的,在所述的校正图像坏点的方法中,所述根据当前像素偏离同色像素值的偏差值中的最大值或最小值,判断当前像素是否为坏点的方法包括:
44、将g[x-1][y-1]、g[x-1][y+1]、g[x][y-2]、g[x][y-1]、g[x][y+1]和g[x][y+2]六个同色像素值g值作为一个同色像素组,记为estg;将b[x-1][y-1]、b[x-1][y+1]、b[x][y-2]、b[x][y-1]、b[x][y+1]和b[x][y+2]六个同色像素值b值作为一个同色像素组,记为estb;将r[x-1][y-1]、r[x-1][y+1]、r[x][y-2]、r[x][y-1]、r[x][y+1]和r[x][y+2]六个同色像素值r值作为一个同色像素组,记为estr;
45、将estg按照从大到小的顺序排序得到estgsort;将estb按照从大到小的顺序排序得到estbsort;将estr按照从大到小的顺序排序得到estrsort;其中,estgsort、estbsort和estrsort中最大值分别为estgsort[0]、estbsort[0]和estrsort[0],最小值分别为estgsort[5]、estbsort[5]和estrsort[5];
46、将g、b和r的最大标准值统一设置为valmax,最小标准值统一设置为valmin;
47、若buff[x][y]>(1+α1)×valmax,且buff[x][y]>valmax+β1,则判断当前像素为亮坏点;
48、若buff[x][y]<(1+α2)×valmin,且buff[x][y]<valmin+β2,则判断当前像素为暗坏点;
49、其中,α1、α2、β1和β2均为可调参数。
50、可选的,在所述的校正图像坏点的方法中,所述若判断当前像素为坏点,则对当前像素进行校正的方法包括:
51、若当前像素为亮坏点,则利用valmax替换buff[x][y],以对当前像素进行替换校正;
52、若当前像素为暗坏点,则利用valmin替换buff[x][y],以对当前像素进行替换校正。
53、为解决上述技术问题,本发明还提供一种校正图像坏点的装置,包括存储器、处理器及存储在存储器上并能够由所述处理器运行的可执行程序;所述处理器运行所述可执行程序时执行如上任一项所述的校正图像坏点的方法。
54、为解决上述技术问题,本发明还提供一种计算机存储介质,所述计算机存储介质存储有可执行程序;所述可执行程序被执行时,实现如上任一项所述的校正图像坏点的方法。
55、本发明提供的校正图像坏点的方法及装置、计算机存储介质,包括:获取raw图像;以raw图像中的当前像素为基准,提取m行n列的缓存窗口,其中m≥2、n≥7;在缓存窗口内的特定位置插值计算出当前像素的同色像素值;根据当前像素偏离同色像素值的偏差值中的最大值或最小值,判断当前像素是否为坏点;若判断当前像素为坏点,则对当前像素进行校正。通过以当前像素为基准提取缓存窗口,并利用插值计算同色像素值,根据同色像素值的偏差判断是否为坏点,使得计算过程相对简单,降低了硬件存储资源的占用,此外,图像的画面细节在处理过程中受到的影响较小,从而有效提高了图像的视觉质量,解决了如何在不占用过多的硬件存储资源的同时提高坏点校正的效果的问题。