JPG格式用常规方法转换为1位深总是没有效果
解决方案:
一直找不到解决方案,意外修改了一下保存的格式为“PNG”,保存JPG居然就显示1位深了
具体代码:
from PIL import Image
# save jpg convert 8bit to 1bit
def save_jpg_1bit(file_path, save_path):
img = Image.open(file_path)
img = img.convert('L') # 转灰度
img = img.point(lambda x: 0 if x < 1 else 1, '1') # 设定阈值,转二值
img.save(save_path, 'PNG') # 使用PNG格式很关键,否则JPG格式保存为1位深度的图片还是会变成8位深度
if __name__ == '__main__':
img_path = './newresult_0_0.jpg'
save_jpg_1bit(img_path, 'newresult_0_0_1bit.jpg')