isp 图像算法(一)之black level compensation 黑电平补偿

ISP图像处理算法之一黑电平校正

github

gbb
rgr
[bl_r, bl_gr, bl_gb, bl_b, alpha, beta]=[0, 0, 0, 0, 0, 0]

众所周知,CMOS传感器采集的信息经过一系列转换,最后生成原始RAW格式数据,RAW数据每个像素点只有一种颜色信息,只是RGB的一个,但是由于sensor对绿色光的频率基本可以全部通过,故RAW data数据里边,有两个G一个R,一个B。我们要想得到RGB数据就必须利用已有的信息来得到缺失的信息,这个处理后面专门介绍。这里接着黑电平校正说。

    我们知道图像数据一般为0--255,但sensor在出厂的时候,厂家一般会设置图像数据输出范围如5-250等,反正最低电平不为零。因此我们就需要对图像数据范围进行调整,使其最小值为零,这就是黑电平校正。

     黑电平校正有两种方法:一种是直接在RAW data数据上减去一个值,可以RGB减的值一样,也可以不一样,目前大多数厂家如,安霸,海思等基本都是采用这一做法。一种是利用一次函数,这个比较麻烦,就不介绍了。

     PS:这个是ISP里面最简单做法,以后会详细介绍一些其他复杂的算法。
        for y in range(0, raw_h-1, 2):
            for x in range(0, raw_w-1, 2):
                if self.bayer_pattern == 'rggb':
                    r = self.img[y,x] + bl_r
                    b = self.img[y+1,x+1] + bl_b
                    gr = self.img[y,x+1] + bl_gr + alpha * r / 256
                    gb = self.img[y+1,x] + bl_gb + beta * b / 256
                    blc_img[y,x] = r
                    blc_img[y,x+1] = gr
                    blc_img[y+1,x] = gb
                    blc_img[y+1,x+1] = b
posted @ 2022-08-19 22:46  luoganttcc  阅读(252)  评论(0)    收藏  举报