由于图像传感器芯片Pixel阵列存在工艺偏差及缺陷,因此会造成图像上部分像素显示错误,这些有缺陷的Pixel点即为图像坏点(Bad pixel)。 对于不同工艺、不同厂家,尤其对于一些低成本、消费类的sensor来说,坏点数会在长时间、高温环境下变得越来越多,严重影响到了sensor产品的使用效果、使用寿命。
引起坏点的原因包括Foundry工艺、长时间高温引起管子老化等。
坏点分类:
静态坏点:sensor制造产生的坏点,不随时间、增益等改变。
动态坏点:因增益、温度变化而引起的坏点,可恢复正常。
静态坏点矫正:
一般在传感器或者模组产线上进行标定,将坏点位置信息写入OTP (One Time Programmable),在客户端读出静态坏点丢弃或在芯片内直接插值矫正。
动态坏点矫正:
相比静态坏点,动态坏点的检测及修复重要很多,算法也多种多样,可根据产品具体使用场景(车载、安防等)定制算法矫正。
算法效果:
坏点消除前 vs 坏点消除后
通常我们在图像处理算法实现中,都会用到lineBuffer,Linebuffer可以实现单行数据串行输入,多行数据并行输出;常用于图像卷积处理中。
很多博主都按照3X3阵列来实现卷积计算,景芯ISP VIP课程采用5X5阵列来实现更精准的卷积计算。
很多博主都未考虑图像边缘像素,比如边界的2行、2列图像数据被错误处理或者直接未进行处理,景芯ISP VIP课程进行了边界处理,欢迎大家加入景芯ISP VIP训练营交流。
然后假设bayer格式是如下RGrGbB格式,另外三种格式如法炮制,不再赘述:
第一行R、Gr循环,①第一拍选取5x5中的9个R点,②第二拍选取5x5中的9个Gr点
第二行Gb、B循环,③第一拍选取5x5中的9个Gb点,④第二拍选取5x5中的9个B点
注意,第①④是相同取法,第②③是相同取法,因此代码设计
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !