【问题标题】:Image shows properly with .show() but saves with artifacts图像使用 .show() 正确显示,但使用工件保存
【发布时间】:2019-01-29 03:00:49
【问题描述】:

我已经解开图像,并在使用 img.show() 时使用 PIL,我可以在外部查看器中正确看到图像,但是当我尝试使用 img.save() 保存它时,它会受到水平颜色伪影的困扰。由于 img.show() 使用 bmp 临时保存和显示文件,我尝试使用 img.save(filepath, "bmp") 以及其他文件格式。其他格式,如 jpg 和 png,会完全破坏图像,而 bmp 会产生颜色伪影。我检查了 PIL 的文档,但没有帮助。我可以用什么方法来保存我正常看到的图像?

【问题讨论】:

  • 不看就说不出口。
  • 尝试使用 cv2.imwrite() 保存图像;也许这对你有用

标签: image python-2.7 image-processing python-imaging-library


【解决方案1】:

经过多次尝试,结果不是:

with open("img.bmp", 'w') as f:
    image.save(f)

打开添加了二进制属性“b”的文件解决了这个问题。像这样:

with open("img.bmp", 'wb') as f:
    image.save(f)

【讨论】:

    猜你喜欢
    • 2016-08-29
    • 2014-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-10
    相关资源
    最近更新 更多