如何使用PIL Image.point(表)方法将阈值应用于256灰度图像?

tah*_*oar 13 python python-imaging-library threshold

我有8位灰度TIFF图像,我想使用75%白色(十进制190)阈值转换为单色.在Image.convert(模式)方法部分,PIL手册说:

"将灰度图像转换为位级图像(模式"1")时,所有非零值都设置为255(白色).要使用其他阈值,请使用点法."

Image.point(table)方法表示它通过给定的表映射每个像素.

im.point(table,mode)=> image
im.point(function,mode)=> image

"通过表格映射图像,并在飞行中进行转换.在当前版本的PIL中,这只能用于在一步中将'L'和'P'图像转换为'1',例如对图像进行阈值处理."

如何创建与我需要的75%阈值相对应的表(或函数)?

tah*_*oar 12

我在这个答案中找到了完整的解决方案" 在String中从python中写入TIFF文件 ".该函数必须包含"和255"

threshold = 191  
im = im.point(lambda p: p > threshold and 255)  
Run Code Online (Sandbox Code Playgroud)


paj*_*ton 2

尝试im.point(lambda p: p > 190)并发布结果。