图像二值化处理之中的二值指的就是黑色与白色两种颜色,那么二值化就是将一个图像变成之后这两种颜色形式,在python中实现二值化处理的方法有很多。本篇文章主要来介绍的就是,该怎么使用python第三库skimage来实现图像二值化处理,下文有详细代码示例。

1.skimage库实现图像二值化处理需要导入其中io、data以及color这个三个模块,而它们的作用则分别为显示输出图像、读取库自带的图片、修改图片颜色模式。模块导入完成之后使用data去调用不同的方法即可将图片读取进来,代码示例如下所示:
from skimage import io,data,color img=data.lena()
2.图片读取进来之后就是生成了一个文件对象,接下来需要调用color模块之中的方法rgb2gray()并将图片对象作为参数传入。这一步的目的就是为了能够将该图像转为灰度图,这样每个像素点的值就只会有0-255了,方便之后进行阈值处理来完成二值化操作。之后再用灰度图属性shape来获取长宽像素值,代码如下所示:
img_gray=color.rgb2gray(img) rows,cols=img_gray.shape
3.到这一步就是要去创建for循环结构了,它也是整个程序最为核心的模块。这个for循环结构需要是双重嵌套,每个for循环迭代的对象就是用图像长宽像素值变量作为参数的range()函数,这样能够遍历到该图像上所有像素点。
然后在循环之中用if条件判断该像素点的值是否大于128,如果大于的话就将其赋值为1转为白色,小于就赋值0转为黑色。最后使用imshow()方法将这个二值化处理完成后的图像输出即可,这个条件判断的阈值可以自行调整,代码如下:
for i in range(rows): for j in range(cols): if (img_gray[i,j]<=0.5): img_gray[i,j]=0 else: img_gray[i,j]=1 io.imshow(img_gray)

以上就是关于“Python图像二值化代码是什么?如何使用Skimage实现图像二值化处理”的全部内容了,希望对你有所帮助。