jupyter 使用Pillow包显示图像时inline显示方式


Posted in Python onApril 24, 2020

1.单独使用Pillow包时,图片会弹出新窗口显示:

from Pillow import Image
img = Image.open('data/empire.jpg')
img.show()

2.我想要在jupyter notebook的浏览器上边显示图片怎么办?

可以使用matplotlab.pyplot【显示图片工具】 和 Pillow【图片处理工具】 结合使用

%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()

例子如下:

jupyter 使用Pillow包显示图像时inline显示方式

3.pillow显示灰色图片+plt显示多个图片

%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('imge: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.subplot(2,3,4), plt.title('r')
plt.imshow(r,cmap='gray'), plt.axis('off')
plt.subplot(2,3,5), plt.title('g')
plt.imshow(g,cmap='gray'), plt.axis('off')
plt.subplot(2,3,6), plt.title('b')
plt.imshow(b,cmap='gray'), plt.axis('off')

plt.show()

jupyter 使用Pillow包显示图像时inline显示方式

补充知识:jupyter(ipython)内嵌问题:%pylab inline的使用

在使用jupyter(ipython新版本)的画图的过程中遇到了一个有关内嵌命令的问题,将其记录如下:

1、案例描述

一个超级简单的画图程序,因为jupyter是一个C/S分布式的python编辑环境,是一个基于客户端web页面的在线编辑器,你可以在浏览器中输入服务器的ip地址及jupyter的端口号(默认为8888),也可以自己的本机做服务器(地址为http://localhost:8888)

未修改的代码如下:

%matplotlib inline
import numpy as np 
import matplotlib.pyplot as plt 

#以自然数序列作为多项式的系数,使用polyld函数创建多项式 
func = np.poly1d(np.array([1,2,3,4]).astype(float)) 
print func
#使用Numpy的linspace函数创建X轴的数值,在-10和10之间产生30个均匀分布的值 
x=np.linspace(-10,10,30) 
#计算我们在第一步中创建的多项式的值 
y=func(x) 

plt.plot(x,y) 
plt.xlabel('x',fontsize=12) 
plt.ylabel('y(x)',fontsize=12) 
plt.show()

2、报错:

jupyter 使用Pillow包显示图像时inline显示方式

错误提示:ImportError: libXext.so.6: cannot open shared object file: No such file or directory

一开始以为是没有安装PyQt4的错(虽然我的确没有安装该模块)。

但是仔细看了下很长的错误提示后发现是pylab没有内嵌进去。于是在开头部分内嵌进去即可。修改后的代码如下:

3、解决方案

在代码的第一行加上%pylab inline

#在开头添加pylab的内嵌语句,pylab是 Matplotlib 和Ipython提供的一个模块,提供了类似Matlab的语法。
%pylab inline
%matplotlib inline
import numpy as np 
import matplotlib.pyplot as plt 

#以自然数序列作为多项式的系数,使用polyld函数创建多项式 
func = np.poly1d(np.array([1,2,3,4]).astype(float)) 
print func
#使用Numpy的linspace函数创建X轴的数值,在-10和10之间产生30个均匀分布的值 
x=np.linspace(-10,10,30) 
#计算我们在第一步中创建的多项式的值 
y=func(x) 

plt.plot(x,y) 
plt.xlabel('x',fontsize=12) 
plt.ylabel('y(x)',fontsize=12) 
plt.show()

加%pylab inline之后可正确运行出结果:

jupyter 使用Pillow包显示图像时inline显示方式

以上这篇jupyter 使用Pillow包显示图像时inline显示方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中的sort方法使用详解
Jul 25 Python
python中常用检测字符串相关函数汇总
Apr 15 Python
Python学习之Anaconda的使用与配置方法
Jan 04 Python
python中返回矩阵的行列方法
Apr 04 Python
Python学习笔记之抓取某只基金历史净值数据实战案例
Jun 03 Python
Python整数对象实现原理详解
Jul 01 Python
python实现提取str字符串/json中多级目录下的某个值
Feb 27 Python
python数据库编程 Mysql实现通讯录
Mar 27 Python
Python爬虫谷歌Chrome F12抓包过程原理解析
Jun 04 Python
使用python matploblib库绘制准确率,损失率折线图
Jun 16 Python
PyCharm中配置PySide2的图文教程
Jun 18 Python
python爬取企查查企业信息之selenium自动模拟登录企查查
Apr 08 Python
pyspark 随机森林的实现
Apr 24 #Python
Jupyter打开图形界面并画出正弦函数图像实例
Apr 24 #Python
pyspark给dataframe增加新的一列的实现示例
Apr 24 #Python
Pandas将列表(List)转换为数据框(Dataframe)
Apr 24 #Python
python实现飞船大战
Apr 24 #Python
解决安装新版PyQt5、PyQT5-tool后打不开并Designer.exe提示no Qt platform plugin的问题
Apr 24 #Python
pycharm下pyqt4安装及环境配置的教程
Apr 24 #Python
You might like
php+mysql实现无限级分类 | 树型显示分类关系
2006/11/19 PHP
php 数组的一个悲剧?
2011/05/11 PHP
解析百度搜索结果link?url=参数分析 (全)
2012/10/09 PHP
wamp下修改mysql访问密码的解决方法
2013/05/07 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
2013/06/10 PHP
关于PHP语言构造器介绍
2013/07/08 PHP
PHP实现单例模式最安全的做法
2014/06/13 PHP
thinkphp利用模型通用数据编辑添加和删除的实例代码
2016/11/20 PHP
PHP crypt()函数的用法讲解
2019/02/15 PHP
Laravel开启跨域请求的方法
2019/10/13 PHP
浅析PHP中json_encode与json_decode的区别
2020/07/15 PHP
javascript js cookie的存储,获取和删除
2007/12/29 Javascript
JS 巧妙获取剪贴板数据 Excel数据的粘贴
2009/07/09 Javascript
JavaScript 对Cookie 操作的封装小结
2009/12/31 Javascript
JavaScript Distilled 基础知识与函数
2010/04/07 Javascript
js获得指定控件输入光标的坐标兼容IE,Chrome,火狐等多种主流浏览器
2013/05/21 Javascript
PHP PDO操作总结
2014/11/17 Javascript
使用jquery动态加载Js文件和Css文件
2015/10/24 Javascript
js密码强度实时检测代码
2016/03/02 Javascript
es6新特性之 class 基本用法解析
2018/05/05 Javascript
详解ES6中的Map与Set集合
2019/03/22 Javascript
关于JSON解析的实现过程解析
2019/10/08 Javascript
angular共享依赖的解决方案分享
2020/10/15 Javascript
JS绘图Flot应用图形绘制异常解决方案
2020/10/16 Javascript
Python实现的调用C语言函数功能简单实例
2019/03/13 Python
Python3使用TCP编写一个简易的文件下载器功能
2019/05/08 Python
Python迭代器模块itertools使用原理解析
2019/12/11 Python
python使用paramiko实现ssh的功能详解
2020/03/06 Python
JAVA SWT事件四种写法实例解析
2020/06/05 Python
HTML5声音录制/播放功能的实现代码
2018/05/03 HTML / CSS
英国最大的海报商店:GB Posters
2018/03/20 全球购物
亿企通软件测试面试题
2012/04/10 面试题
优质服务活动实施方案
2014/05/02 职场文书
村党支部公开承诺书
2014/05/29 职场文书
服装区域经理岗位职责
2015/04/10 职场文书
干部作风纪律整顿心得体会
2016/01/23 职场文书