Python关于PIL的Image.show()无法正常显示图片问题

from PIL import Image

img = Image.open("../demo.jpg")
img.show()

这种图片显示方式是调用操作系统自带的默认图片浏览器来打开图片,然而有时却会遇见这样的错误:在这里插入图片描述
然而用plt却能正常打开:

from PIL import Image
import matplotlib.pyplot as plt

img = Image.open("../demo.jpg")
plt.imshow(img)
plt.show()

在这里插入图片描述
这就让我百思不得其解,也查阅了很多博客都非常复杂,并且大都是基于win7环境下python2.7的解决方案,在win10环境下,PIL的ImageShow.py文件早已得到修复,但是依旧打不开图片。
再研究发现,Image.show()函数会生成一个临时的.BMP文件用来显示,然而平时一般很少用.bmp属性的照片,windows就没有关联到这个属性图片的默认打开程序,所以我们只需要设置.BMP文件默认打开软件,就可以完美解决这个问题。

首先打开系统设置,找到应用

在这里插入图片描述
然后选择默认应用
在这里插入图片描述
翻到下面会有一个 按文件类型指定默认应用

在这里插入图片描述

找到对应的.BMP文件格式(因为要遍历所有文件格式,可能要等待一分钟),选择默认打开程序

在这里插入图片描述
这样,问题就得到了解决

我们再来试验用Image.show()打开图片
在这里插入图片描述
问题完美解决。

  • 19
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值