1. 程式人生 > 程式設計 >matplotlib jupyter notebook 影象視覺化 plt show操作

matplotlib jupyter notebook 影象視覺化 plt show操作

一、視覺化庫匯入

%matplotlib inline
import matplotlib.pyplot as plt

二、顯示彩色影象

plt.figure(figsize=(15,10))
plt.imshow(img)
plt.show()

前提是,img是以彩色影象讀入的

如果採用opencv讀入的影象,通道順序為BGR,PLT顯示影象是以RGB順序的,可以採用以下程式碼:

plt.figure(figsize=(15,10))
plt.imshow(cv2.cvtColor(input_img,cv2.COLOR_BGR2RGB))
plt.show()

三、設定顯示影象畫布大小:

有時候我們會覺得影象顯示出來太小,這個時候需要設定畫布大小

plt.figure(figsize=(15,10)) #figsize裡面的係數越大,畫布越大,當然執行時間越長

四、顯示灰度影象

plt.imshow(img,cmap ='gray')

補充知識:plt 在螢幕的固定位置顯示影象

在呼叫matplotlib.pyplot庫畫圖時,如何設定其在固定位置顯示。how-do-you-set-the-absolute-position-of-figure-windows-with-matplotlib

其實問題在於你要搞清楚你的plt後端編譯器的型別。有TkAgg,WXAgg,Qt5Agg等型別。怎麼檢視自己的後端編譯器,可以這樣

import matplotlib
import matplotlib.pyplot as plt
backend = matplotlib.get_backend()
print(backend)

當型別為TkAgg時,可以這樣寫:

import matplotlib
import matplotlib.pyplot as plt
from PIL import Image
img = Image.open("00.jpg")
fig = plt.figure()
 
fig.canvas.manager.window.wm_geometry('+300+300')
fig.imshow(img)
fig.show()

這是顯示一張圖片,但一般用固定視窗位置都是序列影象的顯示

當型別為WXAgg時,可以這樣寫:

import matplotlib
import matplotlib.pyplot as plt
from PIL import Image
img = Image.open("00.jpg")
fig = plt.figure()
 
fig.canvas.manager.window.SetPosition((300,300))
fig.imshow(img)
 
fig.show()

當型別為Qt5Agg時,可以這樣寫:

import matplotlib
import matplotlib.pyplot as plt
from PIL import Image
img = Image.open("00.jpg")
fig = plt.figure()
 
f.canvas.manager.window.move(300,300)
fig.imshow(img)
 
fig.show()

搞定~,因為看到一篇講這個相關的博文,但是沒有解決我的問題,就去論壇上看到了具體的解決辦法。

還有就是如何顯示不帶白邊的plt影象

plt.figure()
fig.set_size_inches(2,2)#200x200
fig.canvas.manager.window.move(300,300)
plt.imshow('your img sequence array')
plt.axis('off')
plt.gca().xaxis.set_major_locator(plt.NullLocator())
plt.gca().yaxis.set_major_locator(plt.NullLocator())
plt.subplots_adjust(top=1,bottom=0,left=0,right=1,hspace=0,wspace=0)
plt.margins(0,0)
plt.pause(0.5)

這樣就可以連續固定位置顯示影象了。

以上這篇matplotlib jupyter notebook 影象視覺化 plt show操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。