PIL二值化验证码图片问题。二值化后出现一堆淡淡的黑点,直接显示图片没问题,保存后再打开就有问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PIL二值化验证码图片问题。二值化后出现一堆淡淡的黑点,直接显示图片没问题,保存后再打开就有问题相关的知识,希望对你有一定的参考价值。
第一个是原始的验证码。第二个是直接im.show()显示的,没有小黑点,第三个是保存后再打开的,就有问题了image = Image.open('3.jpg')imgry = image.convert('L') # 转化为灰度图threshold = 180table = []for i in range(256): if i < threshold: table.append(0) else: table.append(1)im = imgry.point(table,'1')im.show()#这里系统显示出来的图片是正常的。保存后用系统自带的图片浏览器就不行了。im.save('11.jpg')代码在这,求解答,急
参考技术A 存成jpg有这个误差,存bmp就没问题了本回答被提问者采纳python怎么用PIL模块处理BMP图像 二值化
遍历图片对象?可是怎么个遍历法呢?Pillow 提供了一个 .load() 方法,用来处理像素。图片嘛,当然是二维的,有宽和高的。pixels = image.load()
for x in ramge(image.width):
for y in range(image.height):
pixsels[x, y] = 255 if pixsels[x, y] > 125 else 0
当然了,只是最简单的二值化的话,直接 image.convert('1') 就可以了 :-) 参考技术A Pillow 提供了一个 .load() 方法,用来处理像素。图片嘛,当然是二维的,有宽和高的。
pixels = image.load()
for x in ramge(image.width):
for y in range(image.height):
pixsels[x, y] = 255 if pixsels[x, y] > 125 else 0
当然了,只是最简单的二值化的话,直接 image.convert('1') 就可以了 :-) 参考技术B 遍历图片对象?可是怎么个遍历法呢?Pillow 提供了一个 .load() 方法,用来处理像素。图片嘛,当然是二维的,有宽和高的。
pixels = image.load()
for x in ramge(image.width):
for y in range(image.height):
pixsels[x, y] = 255 if pixsels[x, y] > 125 else 0
当然了,只是最简单的二值化的话,直接 image.convert('1') 就可以了 :-) 参考技术C 遍历图片对象?可是怎么个遍历法呢?Pillow 提供了一个 .load() 方法,用来处理像素。图片嘛,当然是二维的,有宽和高的。
pixels = image.load()
for x in ramge(image.width):
for y in range(image.height):
pixsels[x, y] = 255 if pixsels[x, y] > 125 else 0
当然了,只是最简单的二值化的话,直接 image.convert('1') 就可以了 :-)
以上是关于PIL二值化验证码图片问题。二值化后出现一堆淡淡的黑点,直接显示图片没问题,保存后再打开就有问题的主要内容,如果未能解决你的问题,请参考以下文章