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

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

例子如下:

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(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、报错:

错误提示: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显示方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • jupyter notebook 实现matplotlib图动态刷新

    我就废话不多说了,大家还是直接看代码吧! import matplotlib %matplotlib inline from IPython import display 需要刷新的地方,画完图之后添加 display.clear_output(wait=True) 补充知识:jupyter notebook matplotlib绘制动态图并显示在notebook中 有些时候matplotlib 的绘图没法显示在notebook中,或者显示不了.这与backend有关. 首先启动你的notebo

  • jupyter notebook oepncv 显示一张图像的实现

    感想 我们在用jupyter notebook的时候,经常需要可视化一些东西,尤其是一些图像,我这里给个sample code 环境 opencv-python matplotlib numpy sample import os import numpy as np from matplotlib import pyplot as plt %matplotlib inline img_dir='/Users/eric/Documents/data/wheel_train_val/train/no

  • VScode连接远程服务器上的jupyter notebook的实现

    工欲善其事,必先利其器,开发工具这个东西觉得折腾下还是有好处的.但常常感觉专门抽出时间搞这个浪费时间,更常见的现象是已经明显感觉到当前的开发工具用的很别扭,而且告诉自己等这个忙完了要搭一个更方便的工具,到最后却没下文了直到下次再次遇到这种感觉.我这会就是再次遇到了,想用VSCode连接服务器上的jupyter notebook运行tensorflow代码,这样在本地的VScode中直接写代码就方便了很多.整个过程很简单,我自诩记性也不错,但还是不如这白纸黑字来的保险,查资料也是很花时间的. 首先

  • Jupyter打开图形界面并画出正弦函数图像实例

    1.进入工作目录文件夹D:\Python\jupyterWorkplace 如何截取鼠标右键的选项栏: qq截图的拓展,在登陆qq的前提下同时按住ctrl+alt+shift, 然后选择右键菜单(或者下拉菜单)也可以哦! 这个时候松开shift ,ctrl+alt上的两个手指不要松开, 同时用另外一个手指按住A即可 2.键盘Shift+鼠标右键->在此处打开命令窗口-> 在弹出的命令窗口中输入:Jupyter Notebook 进入shell: 3.浏览器会自动打开一个页面,new里面选择Py

  • 如何实现在jupyter notebook中播放视频(不停地展示图片)

    在解决图像处理问题的时候,可以利用opencv打开视频,并一帧一帧地show出来,但是要用到imshow(),需要本地的界面支持. 代码如下 # -*- coding:utf-8*- import cv2 capture = cv2.VideoCapture("D:\\dataset\\chip_gesture.ts") # 图像处理函数 def processImg(img): # 画出一个框 cv2.rectangle(img, (500, 300), (800, 400), (0

  • 离线状态下在jupyter notebook中使用plotly实例

    首先创建一个新的python3记录,之后在开始位置输入以下语句并执行: import plotly import plotly.offline as py py.init_notebook_mode(connected=False) import plotly.graph_objs as go 注意此时实际上是将plotly的库文件写在了ipynb文件内部,因此保存后的ipynb文件会比较大,一般在5M以上. 补充知识:plotly 绘制离线图例(折线) 我就废话不多说了,还是直接看代码吧! #

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

    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 im

  • 解决matplotlib.pyplot在Jupyter notebook中不显示图像问题

    在代码首行添加: %matplotlib inline 即可. 补充知识:jupyter不能显示Matplotlib 动画 看莫烦老师的matplotlib教程中,有一段sinx函数动画,用Jupyter跑却不能显示动画效果. 解决方案:在前面加一句%matplotlib notebook 动画代码如下: %matplotlib notebook import tensorflow as tf import numpy as np import matplotlib.pyplot as plt

  • 解决Charles抓包https时,无法查看CONNECT请求的问题

    问题: 按照一般流程操作后,发现Get/Post请求都可以查看,但是有些CONNECT请求无法查看. 解决方案: 需要在Proxy Settings - Proxies HTTP Proxy中勾选Enable transparent HTTP proxying 就可以了. 存疑: 这些CONNECT请求并不是App主动发出的,是什么是否发出的? 以上这篇解决Charles抓包https时,无法查看CONNECT请求的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们

  • Jupyter Notebook读入csv文件时出错的解决方案

    问题 jupyter notebook读入csv数据时出现错误 "SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UX" 解决方法 将文件路径中'C:\Users\huangyanli\Desktop\churn.csv'的"\"改为"\\"就可以了. 完美解决问题. 补充:Jupyter noteb

  • python修改包导入时搜索路径的方法

    目录 前言 一.模块导入时路径搜索机制 1.1 包导入搜索机制 1.2 修改搜索路径 1.2.1 通过修改sys.path变量 1.2.2 通过修改PYTHONPATH环境变量 1.2.3 通过添加**.pth文件 附:临时添加python搜索包路径的方法 总结 前言 在Python中,import操作应该算是最为频繁和常见的,但同时也应该是最核心需要搞清楚其工作原理的地方,比如,python是如何找到我希望导入的包的位置的,如果搞清楚了这个问题,那我们后续有自定义的包,就可以放到电脑的任意路径

  • Python实现更改图片尺寸大小的方法(基于Pillow包)

    本文实例讲述了Python实现更改图片尺寸大小的方法.分享给大家供大家参考,具体如下: 1.PIL包推荐Pillow. 2.源码: #encoding=utf-8 #author: walker #date: 2014-05-15 #function: 更改图片尺寸大小 import os import os.path from PIL import Image ''' filein: 输入图片 fileout: 输出图片 width: 输出图片宽度 height:输出图片高度 type:输出图

  • 解决Python 命令行执行脚本时,提示导入的包找不到的问题

    在Pydev能正常执行的脚本,在导出后在命令行执行,通常会报自己写的包导入时找不到. 一:报错原因 在PyDev中,test.py 中导入TestUserCase里面的py文件时,会写: from TestUserCase.Test import Test 这在命Pydev中没错,但是在命令行中确出现错误. 因为在PyDev中默认路径除了当前文件所在路劲外,还有工程根路径.而在命令行中只有当前文件所在路径.TestUserCase是test.py文件的上一级目录,所以在命令行中test.py i

  • 在启动后台 jar包时,使用指定的 application.yml操作

    jar 包启动时指定配置文件 application.yml nohup java -jar vPaas.jar --spring.config.location=/opt/vpaas-conf/application.yml > /opt/vpaas-conf/nohup.out 2>&1 & 如果不喜欢将 application.properties 作为配置文件名,你可以通过指 定 spring.config.name 环境属性来切换其他的名称,也可以使 用 spring

  • hadoop运行java程序(jar包)并运行时动态指定参数

    1)首先启动hadoop2个进程,进入hadoop/sbin目录下,依次启动如下命令 [root@node02 sbin]# pwd /usr/server/hadoop/hadoop-2.7.0/sbin sh start-dfs.sh sh start-yarn.sh jps 2)通过jps查看是否正确启动,确保启动如下6个程序 [root@node02 sbin]# jps 10096 DataNode 6952 NodeManager 9962 NameNode 10269 Second

  • Ubuntu安装Jupyter Notebook教程

    一.Jupyter介绍 Jupyter Notebook是一个交互式笔记本,支持运行40多种编程语言.Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown.用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等. 二.安装步骤 环境:Docker(17.04.0-ce).镜像Ubuntu(16.04.3) 1. 更新软件列表 root@787c084a44e4:~# apt-get update 2

随机推荐