ISP中的那些算法

一直在黑白的世界里,追寻着,思考着,迷茫着,彷徨着;从红外到到现在的可见光,不知融入了多少算法。

觉得每一个设计都是很奇妙的,也是有理有据的。

就像经常看见的一句话那就是时序是设计出来的。

但是很多的时候自己似乎在拼凑着,所以常常对自己说,自己不是很适合做技术。

现在的相机测试中,加载了去坏点,高斯滤波及锐化算法。


1、去换点检测的算法


坏点判断,对于坏点的判断需要与其他的数据进行对比,然后来确定是否为坏点。这样需要缓存数据。数据的缓存之后需要注意行场信号是不是缓存了。也就是缓存后数据对应的行场信号的输出。由于开始对于3*3矩阵的生成没有考虑那么多。觉得只要是能够输出3*3的数据就可以了。所以坏点从事难以检测到。

换点去除,坏点去除就需要用到去除的方式方法。换点去除主要也是根据滤波来去的。这里主要是在3*3的矩阵里,取坏点周围的四点进行取代坏点。这样取出来的数据就与周围的数据比较接近。单独的坏点就不会显得那么的突兀。

在坏点判断的时候,对于四周的数据需要进一步的考虑。四周的数据不好进行判断。这里直接将其输出。也就是行场的首尾。直接以原始值输出

在坏点比较的时候,需要对矩阵内的八个数据均进行比较。计算出最小值,并与设置的阈值比较这样计算出来的坏点才比较均衡。

ISP中的那些算法_第1张图片

2、高斯滤波算法

相比较坏点检测算法。觉得高斯滤波算法要容易了不少。

坏点检测实际上也是滤波。只是滤波的方式不一样。对于Gaus滤波算法,在图像处理中是一种常见的滤波算法,其对图像邻域内像素进行平滑时,邻域内不同位置的像素被赋予不同的权值,对图像进行平滑的同时,同时能够更多的保留图像的总体灰度分布特征。

常用的两种高斯模板,左侧是常用的3*3的高斯模板,右侧是常用的5*5高斯模板。目前我们采用3*3模板。



3、锐化算法

众所周知图像经过高斯滤波后会变得模糊,而图像锐化处理的目的是使模糊的图像变得更加清晰起来。

介绍另外一种锐化算法,该方法比传统的方法要能获得更好的效果。

在yuv空间先对图像做高斯滤波,得到Y_gaus值,再进行如下计算:

△Y = Y原值- Y_gaus,该值取绝对值。

我们定义一个阈值TH,如果△Y大于TH则对该点锐化处理,否则就不锐化。

并且这里我们还引入一个系数λ,则锐化计算式如下:

Y_sharp = Y + λ*△Y


4、直方图统计算法

这个折腾了我很久。也是由于行场信号的问题。

你可能感兴趣的:(ISP中的那些算法)