Python关于PIL的Image.show()无法正常显示图片问题
程序员文章站
2022-05-31 23:08:40
...
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()打开图片
问题完美解决。
推荐阅读
-
解决python opencv无法显示图片的问题
-
Python关于PIL的Image.show()无法正常显示图片问题
-
html关于上一个360浏览器无法显示背景图片的问题_html/css_WEB-ITnose
-
C++ 关于opencv库的imshow()函数无法正常显示图片的问题
-
解决python opencv无法显示图片的问题
-
Python利用Seaborn画图中关于中文无法正常显示的问题解决
-
关于Ubuntu,python2.7下matplotlib绘制的图中中文无法正常显示的问题解决的总结
-
学习记录:python3 关于使用PILLOW模块,PIL.image 的im.show()方法, 图片不能打开问题。