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 Web框架Pylons中使用MongoDB的例子
Dec 03 Python
简单说明Python中的装饰器的用法
Apr 24 Python
Python快速从注释生成文档的方法
Dec 26 Python
python中WSGI是什么,Python应用WSGI详解
Nov 24 Python
python实现随机森林random forest的原理及方法
Dec 21 Python
Python3基于sax解析xml操作示例
May 22 Python
将Dataframe数据转化为ndarry数据的方法
Jun 28 Python
Python docx库用法示例分析
Feb 16 Python
python实现微信防撤回神器
Apr 29 Python
windows支持哪个版本的python
Jul 03 Python
Python实现简单的俄罗斯方块游戏
Sep 25 Python
详解pytorch创建tensor函数
Mar 22 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
音乐朗读剧《MARS RED》2021年TV动画化决定!
2020/03/06 日漫
分享一个PHP数据流应用的简单例子
2012/06/01 PHP
使用php检测用户当前使用的浏览器是否为IE浏览器
2013/12/03 PHP
php根据日期显示所在星座的方法
2015/07/13 PHP
使用ThinkPHP的自动完成实现无限级分类实例详解
2016/09/02 PHP
检测input每次的输入是否合法遇到汉字输入就有问题
2012/05/23 Javascript
.net,js捕捉文本框回车键事件的小例子(兼容多浏览器)
2013/03/11 Javascript
javascript firefox 自动加载iframe 自动调整高宽示例
2013/08/27 Javascript
Js实现双击鼠标自动滚动屏幕的示例代码
2013/12/14 Javascript
JQuery球队选择实例
2015/05/18 Javascript
javascript的BOM汇总
2015/07/16 Javascript
JavaScript中rem布局在react中的应用
2015/12/09 Javascript
jQuery进行组件开发完整实例
2015/12/15 Javascript
js多功能分页组件layPage使用方法详解
2016/05/19 Javascript
JS弹出窗口的运用与技巧大全
2016/11/01 Javascript
几种tab切换详解
2017/02/03 Javascript
vue一个页面实现音乐播放器的示例
2018/02/06 Javascript
用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)
2018/12/05 Javascript
element-ui组件table实现自定义筛选功能的示例代码
2019/03/15 Javascript
原生JavaScript创建不可变对象的方法简单示例
2020/05/07 Javascript
Python实现的径向基(RBF)神经网络示例
2018/02/06 Python
Python装饰器用法实例总结
2018/02/07 Python
python调用系统ffmpeg实现视频截图、http发送
2018/03/06 Python
十分钟搞定pandas(入门教程)
2019/06/21 Python
python列表,字典,元组简单用法示例
2019/07/11 Python
python2.7使用scapy发送syn实例
2020/05/05 Python
Django权限设置及验证方式
2020/05/13 Python
给keras层命名,并提取中间层输出值,保存到文档的实例
2020/05/23 Python
Python中BeautifulSoup通过查找Id获取元素信息
2020/12/07 Python
ALEX AND ANI:手镯,项链,耳环和更多
2017/04/20 全球购物
爱他美官方海外旗舰店:Aptamil奶粉
2017/12/22 全球购物
在宿舍喝酒的检讨书
2014/09/28 职场文书
党的群众路线教育实践活动查摆剖析材料
2014/10/10 职场文书
领导干部作风整顿剖析材料
2014/10/11 职场文书
教师个人工作总结范文2014
2014/11/10 职场文书
php去除数组中为0的元素的实例分析
2021/11/17 PHP