本教程代码已开源到github: https://github.com/varyshare/easy_slam_tutorial/tree/master/Otsu’s_Method_algorithm
Otsu’s 二值化(大津算法)
二值化是什么?有什么用?
PDF扫描成电子版,文字识别,车牌识别等等图像处理场合均需要使用“二值化”操作。我们知道图像是一个矩阵组成,矩阵的元素是一个数字,这个数字是当前像素点对应的颜色(即像素值)。而图片的二值化操作就是将所有像素值变成要么是0要么是1.一般二值化怎么做的呢?答:“设置一个数字d,只要像素值大于这个阈值d那就设置为1,小于这个阈值d那就设置为0。当然也可以大于这个阈值设置为0,小于设置为1”。但是这个阈值怎么找到的呢?计算出一个合适的阈值出来这就是 Otsu’s 二值化(大津算法)要做的事情。
下面是一幅图片对应的像素值矩阵(图片就是矩阵):
[ 200 , 30 , 40 13 , 40 , 45 ] \begin{bmatrix} 200,30,40\\ 13, 40,45 \end{bmatrix} [200,30,4013,40,45]
假设现在我通过Otsu’s 二值化(大津算法)计算出上面那个图片二值化的最优阈值是39.
那么上面那个图片就会被二值化为:
[ 1 , 0 , 1 0 , 1 , 1 ] \begin{bmatrix} 1,0,1\\ 0, 1,1 \end{bmatrix} [1,0,10,1,1</