本文首发于公众号 FPGA开源工坊
OSTU大津法是一种确定图像二值化阈值的方法,由日本学者大津提出来的。
大津法从原理上来看是一种最大类间方差法,因为使用按照大津法求得的图像分割阈值进行图像分割后,得到的图像前景和背景的类间方差最大。
OSTU在图像分割领域被广泛的使用,因为其计算简单,不受图像亮度和对比度的影响。它是按图像的灰度特性,将图像分成背景和前景两部分。
来推导一下OSTU的计算公式:
OTSU算法的假设是存在阈值TH将图像所有像素分为两类C1(小于TH)和C2(大于TH),则这两类像素各自的均值就为m1、m2,图像全局均值为mG。同时像素被分为C1和C2类的概率分别为p1、p2。
因此有下面的式子:
其中:
根据方差的概念,类间方差表达式为
把式(1)带入式(3)并进行化简得到下面的式子
其中
其实化简到这里已经可以在FPGA里面去实现OSTU了。
无所谓就是从0开始一个循环计算到255,然后再取使式(4)最大的k就可以了。
因为
所有式(7)和式(8)就可以变形为
所以最终的类间方差计算公式为
在FPGA实现的时候首先进行直方图均衡化求概率p
然后去求OSTU的各项参数
最后输出OSTU的阈值
全部0条评论
快来发表一下你的评论吧 !