pil二值化优雅写法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
pil二值化优雅写法
PIL(Python Imaging Library)是一个常用的图像处理库,提供了许多图像处理的功能。
二值化是其中的一种常见操作,用于将图像转换为黑白两色的形式。
下面是一些优雅的写法来实现PIL的二值化操作:
1. 使用threshold函数进行简单的二值化:
python.
from PIL import Image.
def binarize(image_path, threshold):
image = Image.open(image_path).convert("L") # 转为灰度图像。
binary_image = image.point(lambda x: 0 if x < threshold else 255, "1") # 像素值小于阈值的设为黑色,大于等于阈值的设为白色。
binary_image.show() # 显示二值化后的图像。
binarize("image.jpg", 128) # 将image.jpg图像二值化,阈值为128。
2. 使用adaptive_threshold函数进行自适应二值化:
python.
from PIL import Image, ImageFilter.
def adaptive_binarize(image_path, block_size, offset):
image = Image.open(image_path).convert("L") # 转为灰度图像。
binary_image =
image.filter(ImageFilter.MedianFilter).point(lambda x: 0 if x < 128 else 255, "1") # 中值滤波后进行二值化。
binary_image.show() # 显示二值化后的图像。
adaptive_binarize("image.jpg", 11, 5) # 将image.jpg图
像进行自适应二值化,block_size为11,offset为5。
以上是两种常见的PIL二值化的优雅写法,你可以根据具体的
需求选择适合的方法。
当然,还有其他一些方式可以实现二值化,
比如使用numpy进行处理等,但以上方法是较为常用和简洁的写法。
希望对你有所帮助!。