我接触图像算法有些时间了,见到过不少有意思的算法,原理也不复杂,实现起来也比较简单,所以计划记录一下。相关的图例可以到我给出的网址中找。
1.去雾算法
https://blog.csdn.net/abc1014392016/article/details/78880865
这篇文章博主讲的很好,我再简单讲讲原理。去雾算法一般用于交通监控,如果有雾那么可以选择使用去雾算法对他进行一个好的处理。
首先,他有一个假设,叫做暗通道。没有雾的图像暗通道图像都是一片黑,有雾的都是一片白色。暗通道,也就是每个区域中像素点三通道中的最小通道的最小值。如公式(1)所示,一般用最小值滤波来实现。
此外,还有大家公认的有雾图像表达式(2),I是原有雾图,J是无雾图像,t是折射率,A是一个大气成分。我们默认t和A是一个常量。
然后,开始推导:
由于公式(1)中Jdark=0,所以
最后,咱们可以求出J,为了防止t(x)过小,造成值极度偏大,需要设置一个阈值,不能小于t0.
但是,如此求出的值,由于经过了最小值滤波处理,不会很清晰,所以还要再加一个导向滤波,导向滤波又是一个有趣的算法,我把他放到下一章去讲。
2.直方图均衡化
https://blog.csdn.net/schwein_van/article/details/84336633
直方图均衡化可以拓宽灰度级范围,解决曝光等问题。
原理就是将灰度直方图的分布变为均匀分布。
其公式(1)为
其中R为原灰度值,S为变换后的灰度值,L为灰度级数。其实就是一个变换公式(2),如下所示
此外,还需要确定一个问题,那就是概率密度的问题,因此还要有公式(3)
其中ps为s的概率密度,pr为R的概率密度。至此,三个推到所需的公式到齐,只需推出
那么变换后的S必定是均匀分布。
首先由公式(2)及公式(1)得
带入公式(3)
得证结果。
预告:
下一章讲白平衡、导向滤波。