Jupyter Notebook 中使用 Pillow 和 Matplotlib 显示图像的内联方式
153 浏览量
更新于2024-08-30
收藏 214KB PDF 举报
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 的浏览器上边显示多个图片,包括灰色图片和彩色图片。
155 浏览量
453 浏览量
300 浏览量
4500 浏览量
103 浏览量
138 浏览量
点击了解资源详情
2023-08-31 上传
122 浏览量
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
weixin_38729399
- 粉丝: 7
最新资源
- 编程精粹:打造无错C程序的微软技术
- 微软软件测试方法探索与实践经验
- Windows Sockets编程规范与实战指南
- MySQL 5.0中文参考手册:安装与升级指南
- Java Web Start技术详解与应用
- 嵌入式C/C++编程精华:从基础到实战深度解析
- Windows上配置PHP5.2.5+Apache2.2.8+MySQL5+phpMyAdmin详细教程
- 硬盘优化与故障处理全攻略:提升速度与寿命
- ArcGIS Engine入门教程:从基础到应用
- Spring入门:理解IoC与DI基础
- Linux Socket编程基础:接口、功能与实例
- 理解SDRAM内存:物理Bank与逻辑Bank详解
- 配置AD与Domino目录同步:步骤与指南
- Flex 2.0安装与开发环境搭建指南
- Subversion版控教程:从入门到高级操作详解
- 自制验证码生成器:简单实现与应用