jupyter 使用Pillow包顯示圖像時inline顯示方式
1.單獨使用Pillow包時,圖片會彈出新窗口顯示:
from Pillow import Image img = Image.open('data/empire.jpg') img.show()
2.我想要在jupyter notebook的瀏覽器上邊顯示圖片怎么辦?
可以使用matplotlab.pyplot【顯示圖片工具】 和 Pillow【圖片處理工具】 結(jié)合使用
%matplotlib inline import matplotlib.pyplot as plt from PIL import Image img = Image.open('./img.png', 'r') plt.imshow(img) plt.axis('on') # 關(guān)掉坐標(biāo)軸為 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)) #設(shè)置窗口大小 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)內(nèi)嵌問題:%pylab inline的使用
在使用jupyter(ipython新版本)的畫圖的過程中遇到了一個有關(guān)內(nèi)嵌命令的問題,將其記錄如下:
1、案例描述
一個超級簡單的畫圖程序,因為jupyter是一個C/S分布式的python編輯環(huán)境,是一個基于客戶端web頁面的在線編輯器,你可以在瀏覽器中輸入服務(wù)器的ip地址及jupyter的端口號(默認(rèn)為8888),也可以自己的本機做服務(wù)器(地址為http://localhost:8888)
未修改的代碼如下:
%matplotlib inline import numpy as np import matplotlib.pyplot as plt #以自然數(shù)序列作為多項式的系數(shù),使用polyld函數(shù)創(chuàng)建多項式 func = np.poly1d(np.array([1,2,3,4]).astype(float)) print func #使用Numpy的linspace函數(shù)創(chuàng)建X軸的數(shù)值,在-10和10之間產(chǎn)生30個均勻分布的值 x=np.linspace(-10,10,30) #計算我們在第一步中創(chuàng)建的多項式的值 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的錯(雖然我的確沒有安裝該模塊)。
但是仔細(xì)看了下很長的錯誤提示后發(fā)現(xiàn)是pylab沒有內(nèi)嵌進去。于是在開頭部分內(nèi)嵌進去即可。修改后的代碼如下:
3、解決方案
在代碼的第一行加上%pylab inline
#在開頭添加pylab的內(nèi)嵌語句,pylab是 Matplotlib 和Ipython提供的一個模塊,提供了類似Matlab的語法。 %pylab inline %matplotlib inline import numpy as np import matplotlib.pyplot as plt #以自然數(shù)序列作為多項式的系數(shù),使用polyld函數(shù)創(chuàng)建多項式 func = np.poly1d(np.array([1,2,3,4]).astype(float)) print func #使用Numpy的linspace函數(shù)創(chuàng)建X軸的數(shù)值,在-10和10之間產(chǎn)生30個均勻分布的值 x=np.linspace(-10,10,30) #計算我們在第一步中創(chuàng)建的多項式的值 y=func(x) plt.plot(x,y) plt.xlabel('x',fontsize=12) plt.ylabel('y(x)',fontsize=12) plt.show()
加%pylab inline之后可正確運行出結(jié)果:
以上這篇jupyter 使用Pillow包顯示圖像時inline顯示方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python 3.6 -win64環(huán)境安裝PIL模塊的教程
PIL功能非常強大,但API卻非常簡單易用。這篇文章主要介紹了Python 3.6 -win64環(huán)境安裝PIL模塊的教程,需要的朋友可以參考下2019-06-06Pytorch矩陣乘法(torch.mul() 、 torch.mm() 和torch.m
在深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)的世界里,矩陣乘法是一項至關(guān)重要的操作,本文主要介紹了Pytorch矩陣乘法,包含了torch.mul() 、 torch.mm() 和torch.matmul()的區(qū)別,具有一定的參考價值,感興趣的可以了解一下2024-03-03