用python实现图像局部自适应二值化
这里,粗浅的介绍一下图像局部自适应二值化的算法,用python3.6(anaconda)来实现算法。
工具/原料
电脑
anaconda(python3.6)
常规二值化
1、常规的二值化,不能解决图片在不同的地方亮度深浅不一的情形:def erzhihua(img,b,c):……其中的img是图片转化成的数组,b和c分别是二值化的阈值范围。

2、给出下面的图片。

3、对上面的图片进行二值化处理:erzhihua(a,100,255)看下面的图片,部分细节消失掉了。

4、erzhihua(a,150,255)效果不佳。

5、erzhihua(a,200,255)很糟糕的处理结果。

6、erzhihua(a,50,255)

局部自适应二值化
1、通过上面的例子,可以看到,这个图片无论怎么调整阈值范围,所得到的二值化结果都不如意。所以,需要局部二值化处理。def jubuzishiyingerzhihua(a,n):……

2、用局部自适应二值化处理图片:U=jubuzishiyingerzhihua(a,6拘七呷憎)把图片分成了36(6*6=36)个小块,分别用每一块的平均亮度作为阈值,执行二值化。

3、分成100个小块:U=jubuzishiyingerzhihua(a,10)

4、分成1296个小块,效果反而变差了:U=jubuzishiyingerzhihua(a,36)由此可见,并不是细分的越碎越好。

5、分成10000个小碎片:U=jubuzishiyingerzhihua(a,100)
