
Jupyter Notebook 中使用 Pillow 和 Matplotlib 显示图像的内联方式
214KB |
更新于2024-08-30
| 196 浏览量 | 5 评论 | 举报
收藏
Jupyter 中使用 Pillow 包显示图像时的 inline 显示方式
在 Jupyter Notebook 中,使用 Pillow 包显示图像时,默认情况下会弹出新窗口显示图像。为了在浏览器上边显示图片,我们可以使用 matplotlib.pyplot 和 Pillow 结合使用,实现 inline 显示方式。
使用 Pillow 包时遇到的问题
在使用 Pillow 包时,默认情况下,图片会弹出新窗口显示,如下所示:
```
from Pillow import Image
img = Image.open('data/empire.jpg')
img.show()
```
使用 matplotlib.pyplot 和 Pillow 结合使用
为了在 Jupyter Notebook 的浏览器上边显示图片,我们可以使用 matplotlib.pyplot 和 Pillow 结合使用。首先,我们需要在 Jupyter Notebook 中添加魔术命令 `%matplotlib inline`,然后使用 matplotlib.pyplot 显示图片,如下所示:
```
%matplotlib inline
import matplotlib.pyplot as plt
from PIL import Image
img = Image.open('./img.png', 'r')
plt.imshow(img)
plt.axis('on') # 关掉坐标轴为 off
plt.title('image') # 图像题目
plt.show()
```
显示灰色图片和多个图片
我们可以使用 Pillow 将图片转换为灰色图片,然后使用 matplotlib.pyplot 显示多个图片,如下所示:
```
%matplotlib inline
import matplotlib.pyplot as plt
from PIL import Image
img = Image.open('./img.png', 'r')
gray = img.convert('L')
r, g, b = img.split() # 注意:gray 和 r, g, b 不一样,gray 是三者通过公式算出来的
img_merged = Image.merge('RGB', (r, g, b))
# plt.figure(figsize=(10, 5)) # 设置窗口大小
plt.suptitle('Multi_Image') # 图片名称
plt.subplot(2, 3, 1), plt.title('image:oringe')
plt.imshow(img), plt.axis('off')
plt.subplot(2, 3, 2), plt.title('gray:weicaise')
plt.imshow(gray), plt.axis('off')
plt.subplot(2, 3, 3), plt.title('gray:true') # 这里必须加 cmap='gray', 否则尽管原图像是灰度图(下图 1),但是显示的是伪彩色图像(下图 2)(如果不加的话)
plt.imshow(gray, cmap='gray'), plt.axis('off')
plt.show()
```
通过上面的代码,我们可以在 Jupyter Notebook 的浏览器上边显示多个图片,包括灰色图片和彩色图片。
相关推荐




















资源评论

KerstinTongxi
2025.05.03
"Pillow包在jupyter notebook中的图片显示有了新思路,结合matplotlib实现inline显示。"🌈

地图帝
2025.04.05
"文档详述了如何在jupyter中利用matplotlib和Pillow包实现图片的inline显示方式。"

小米智能生活
2025.04.03
"简单易懂的步骤指导,让jupyter用户快速掌握图片的内嵌显示技巧。"

高工-老罗
2025.04.03
"对于需要在jupyter中处理并直接查看图片的用户来说,这是一个实用的技术分享。"

月小烟
2024.12.29
"在jupyter中使用Pillow显示图片,不再是新窗口弹出,而是内嵌显示,提升查看效率。"

weixin_38729399
- 粉丝: 7
最新资源
- VB聊天与文件传输系统的设计与实现
- VB供应链销售子系统源代码及完整系统介绍
- HTML5 Canvas菱角动画特效源码详解
- 天地网络学院全站程序发布
- 3D球形文字云动画特效的HTML5 Canvas源码
- HTML5 Canvas实现仿视频网站文字弹幕特效源码
- 国外域名出售程序DSS发布v1.0版
- 无线201-202期末考试实验详解及复习资料
- Win11 22H2自动应答技巧:绕过4G内存与联网限制
- 保护NAND闪存的工具源码:延长ER-X路由器寿命
- C语言动态内存与链表技术实践详解
- ROS实现快捷配置VLAN与PPPOE拨号操作
- 深入理解day02随堂笔记核心内容
- 2023年最新方法:解决Typora强制收费升级问题
- 使用Scrapy和Mongo实现知乎用户信息及关系爬取
- Linux系统下tcping安装使用详解
- SecureCRT8.7.3与SecureCRTFX8.7.3:安全终端仿真工具
- Centos开发环境搭建完全指南
- Win11 22H2共享打印机错误0x00000709解决方案
- Unity插件-Volumetric Fog Mist 2学习与应用教程
- 在Ubuntu系统上安装zlib、openssl和openssh
- UUOffice插件2.0更新:高效办公软件插件
- C#实现数据库触发器的SQL源码解压缩包
- 简易Python银行管理系统源码,实现全面账户操作功能