用python实现图像局部自适应二值化

2025-05-03 06:12:22

这里,粗浅的介绍一下图像局部自适应二值化的算法,用python3.6(anaconda)来实现算法。

工具/原料

电脑

anaconda(python3.6)

常规二值化

1、常规的二值化,不能解决图片在不同的地方亮度深浅不一的情形:def erzhihua(img,b,c):……其中的img是图片转化成的数组,b和c分别是二值化的阈值范围。

用python实现图像局部自适应二值化

2、给出下面的图片。

用python实现图像局部自适应二值化

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

用python实现图像局部自适应二值化

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

用python实现图像局部自适应二值化

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

用python实现图像局部自适应二值化

6、erzhihua(a,50,255)

用python实现图像局部自适应二值化

局部自适应二值化

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

用python实现图像局部自适应二值化

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

用python实现图像局部自适应二值化

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

用python实现图像局部自适应二值化

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

用python实现图像局部自适应二值化

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

用python实现图像局部自适应二值化
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢