概念:
该方法网上很多很简洁但是很难懂的公式,本文章将会由简单例子入手,一步步去理解那些公式,但是不做代码实现,毕竟只要搞懂了这个算法的思想,代码的实现其实千变万化,甚至用CV库的话根本不用写代码。
为啥出现这个二值化算法,OTSU的致命缺陷在哪里?
案例:
仔细想,其实我们是能适应从很亮到很暗的书页字体颜色的一个变化,所以能准确抓住哪部分该识别,哪部分不用识别,假如我们让机器也有这个能力,那它也会慢慢学到“暗”的地方的文字也要识别
再细想一下,二值化的最重要一点,就是阈值,那么我们有什么办法,让阈值不是一个全局的固定的值,而是根据图像各个部位不同,稍微做一些调整呢?

这个时候,按照移动平均法的公式不断更新一个全局的浮动阈值:UT
UT = (U1+U2+U3+U4+U5) / 5
方法一:把图像再分割细一点,让刷过去的速度更慢,让阈值有充分的过渡区域可以降低

方法二:把前一个区域的阈值进行百分比取值,也就是只取上一次的百分之几黑度,相当于“我会借鉴/参考前任的经验但是我有我区域的特殊情况,我不会100%按照别人的阈值经验来搞”,这个百分比取值可以通过多次尝试来找到分割效果最好的那一个
有了上面的基础,我们怎么用这一个不断变化的阈值去二值化我们的目标图像呢?
以上就是我关于自适应阈值法的总结,图片都是自己P的,如果有错误的地方恳请大佬纠正,一起交流学习
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/177547.html原文链接:https://javaforall.net
