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

本文介绍了ISP图像处理中的一种关键技术——黑电平校正,用于将传感器输出的图像数据范围调整至0-255。黑电平校正通常包括直接减法和一次函数两种方法,文中主要讲解了直接减法的实现,并提供了相应的代码示例,展示了如何在RGB数据中进行校正操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值