python二值化_PythonPIL库实现可设定阈值的二值图像转换

阅读: 评论:0

刘先进python⼆值化_PythonPIL库实现可设定阈值的⼆值图像转换前⾔
最近⼀直在做深度学习图像分割⽅⾯的项⽬,本来是个很简单的⼆分类问题,但是最后输出后却发现不仅仅是0和255两种像素类型,后来思考后才发现他输出的是类似于置信度的东西,具体的我还没有完全明⽩,但是越⽩的像素值说明他越可能接近⽩这⼀类,越⿊的就越可能接近⿊这⼀类,所以这⾥铁定要进⾏阈值分割,⽽且通过阈值分割或许还能够得到更好的分割效果。
这⾥主要介绍⽤python PIL库的⽅法将输出的图⽚进⾏阈值分割。
⽅法
教养的芬芳
设定⼆值图像转换的阈值
PIL可以对图像的颜⾊进⾏转换,并⽀持诸如24位彩⾊、8位灰度图和⼆值图等模式,简单的转换可以通过vert(mode)函数完成,其中mode表⽰输出的颜⾊模式,例如''L''表⽰灰度,''1''表⽰⼆值图模式等。但是利⽤convert函数将灰度图转换为⼆值图时,是采⽤固定的阈 值127来实现的,即灰度⾼于127的像素值为1,⽽灰度低于127的像素值为0。为了能够通过⾃定义的阈值实现灰度图到⼆值图的转换,就要⽤到Image.point函数。
温州市民间融资管理条例Image.point函数有多种形式,这⾥只讨论Image.point(table, mode),利⽤该函数可以通过查表的⽅式实
现像素颜⾊的模式转换,其中table为颜⾊转换过程中的映射表,每个颜⾊通道应当有256个元素,⽽ mode表⽰所输出的颜⾊模式,同样的,''L''表⽰灰度,''1''表⽰⼆值图模式。可见,转换过程的关键在于设计映射表,如果只是需要⼀个简单的箝 位值,可以将table中⾼于或低于箝位值的元素分别设为1与0。当然,由于这⾥的table并没有什么特殊要求,所以可以通过对元素的特殊设定实现 (0, 255)范围内,任意需要的⼀对⼀映射关系。
代码
氯喹那多from PIL import Image
im = Image.open("test.png")
# convert to grey level image
Lim = im.convert("L")
Lim.save("test_gray.png")
# setup a converting table with constant threshold
threshold = 200
中国产品质量法
table = []
for i in range( 256 ):
if i < threshold:
食用菌论坛table.append(0)
else :
table.append(1)
# convert to binary image by the table
bim = Lim.point(table,"1" )
bim.save("test_binary.png")
Reference:Python下利⽤PIL实现可设定阈值的⼆值图像转换_Python_Vange的专栏-CSDN博客b log.csdn使⽤python PIL将RGB 图像转换为纯⿊⽩图像w ww.jianshuPIL包中Image模块的convert()函数_Python_宝宝的宝宝爱写代码-CSDN博客b log.csdn

本文发布于:2023-08-16 13:57:42,感谢您对本站的认可!

本文链接:https://patent.en369.cn/xueshu/367549.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:转换   阈值   实现   模式   分割   灰度
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图