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

作者:Jack_Kuo 时间:2021-09-08 00:42:02 

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显示方式

来源:https://blog.csdn.net/weixin_37251044/article/details/81137726

标签:jupyter,Pillow,图像,inline
0
投稿

猜你喜欢

  • C#调用python文件执行

    2023-11-16 21:35:42
  • PHP合并两个或多个数组的方法

    2023-06-11 12:06:28
  • 使用PHP 5.0创建图形的巧妙方法

    2023-10-27 00:59:07
  • Python ORM编程基础示例

    2021-12-06 14:22:17
  • windows下Anaconda的安装与配置正解(Anaconda入门教程) <font color=red>原创</font>

    2023-05-23 11:10:50
  • python 实现绘制整齐的表格

    2022-09-25 05:51:22
  • mac安装python3后使用pip和pip3的区别说明

    2021-01-06 21:23:15
  • 详解pandas.DataFrame中删除包涵特定字符串所在的行

    2023-08-23 23:37:45
  • IE下img多余5像素空白

    2009-06-08 13:17:00
  • 从两个方面讲解SQL Server口令的脆弱性

    2009-01-08 13:40:00
  • JS获取checkbox的个数简单实例

    2023-08-20 15:17:55
  • Python自动化测试中yaml文件读取操作

    2021-11-19 11:55:43
  • CSS结合js实现动态更换皮肤

    2007-07-14 10:01:00
  • Flask实现跨域请求的处理方法

    2022-03-18 08:19:07
  • python读取Excel实例详解

    2021-05-25 16:10:44
  • Pandas时间数据处理详细教程

    2022-04-29 03:14:22
  • Django小白教程之Django用户注册与登录

    2022-01-14 10:30:06
  • python图像处理入门(一)

    2023-10-28 20:47:38
  • 使用Python实现企业微信的自动打卡功能

    2021-02-27 02:41:34
  • python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)

    2023-04-29 11:00:24
  • asp之家 网络编程 m.aspxhome.com