优草派  >   Python

Python图像二值化代码是什么?如何使用Skimage实现图像二值化处理

罗西汉            来源:优草派

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

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)

image.png

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

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行