python讀取并顯示圖片的三種方法(opencv、matplotlib、PIL庫)
前言
在進行圖像處理時,經(jīng)常會用到讀取圖片并顯示出來這樣的操作,所以本文總結了python中讀取并顯示圖片的3種方式,分別基于opencv、matplotlib、PIL庫實現(xiàn),并給出了示例代碼,介紹如下。
OpenCV
OpenCV是一個基于BSD許可(開源)發(fā)行的跨平臺計算機視覺和機器學習軟件庫,可以運行在Linux、Windows、Android和Mac OS操作系統(tǒng)上。 它輕量級而且高效——由一系列 C 函數(shù)和少量 C++ 類構成,同時提供了Python、Ruby、MATLAB等語言的接口,實現(xiàn)了圖像處理和計算機視覺方面的很多通用算法。
import matplotlib.pyplot as plt # plt 用于顯示圖片 import cv2 #opencv的顏色通道順序為[B,G,R],而matplotlib顏色通道順序為[R,G,B],所以需要調換一下通道位置 img1 = cv2.imread('./Lena.png')[:,:,(2,1,0)] # 讀取和代碼處于同一目錄下的 lena.png img2 = cv2.imread('./Lena.png')[:,:,(2,1,0)] #結果展示 plt.rcParams['font.sans-serif'] = ['SimHei'] # 中文亂碼 plt.subplot(121) #imshow()對圖像進行處理,畫出圖像,show()進行圖像顯示 plt.imshow(img1) plt.title('圖像1') #不顯示坐標軸 plt.axis('off') #子圖2 plt.subplot(122) plt.imshow(img2) plt.title('圖像2') plt.axis('off') # #設置子圖默認的間距 plt.tight_layout() #顯示圖像 plt.show()
Matplotlib
Matplotlib 是 Python 的繪圖庫。 它可與 NumPy 一起使用,提供了一種有效的 MatLab 開源替代方案。 它也可以和圖形工具包一起使用,如 PyQt 和 wxPython。
import matplotlib.pyplot as plt # plt 用于顯示圖片 import matplotlib.image as mpimg # mpimg 用于讀取圖片 img1 = mpimg.imread('./Lena.png') # 讀取和代碼處于同一目錄下的 lena.png img2=mpimg.imread('./Lena.png') #結果展示 plt.rcParams['font.sans-serif'] = ['SimHei'] # 中文亂碼 plt.subplot(121) #imshow()對圖像進行處理,畫出圖像,show()進行圖像顯示 plt.imshow(img1) plt.title('圖像1') #不顯示坐標軸 plt.axis('off') #子圖2 plt.subplot(122) plt.imshow(img2) plt.title('圖像2') plt.axis('off') # #設置子圖默認的間距 plt.tight_layout() #顯示圖像 plt.show()
PIL
PIL(Python Image Library)是python的第三方圖像處理庫,但是由于其強大的功能與眾多的使用人數(shù),幾乎已經(jīng)被認為是python官方圖像處理庫了。。。
PIL可以做很多和圖像處理相關的事情:
- 圖像歸檔(Image Archives)。
- 圖像展示(Image Display)。
- 圖像處理(Image Processing)。
import matplotlib.pyplot as plt # plt 用于顯示圖片 from PIL import Image img1 = Image.open('./Lena.png') img2 = Image.open('./Lena.png') #結果展示 plt.rcParams['font.sans-serif'] = ['SimHei'] # 中文亂碼 plt.subplot(121) plt.imshow(img1) plt.title('圖像1') #不顯示坐標軸 plt.axis('off') #子圖2 plt.subplot(122) plt.imshow(img2) plt.title('圖像2') plt.axis('off') # #設置子圖默認的間距 plt.tight_layout() #顯示圖像 plt.show()
運行結果
總結
到此這篇關于python讀取并顯示圖片的三種方法的文章就介紹到這了,更多相關python讀取顯示圖片內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
利用Tensorboard繪制網(wǎng)絡識別準確率和loss曲線實例
今天小編就為大家分享一篇利用Tensorboard繪制網(wǎng)絡識別準確率和loss曲線實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02Python編程實現(xiàn)兩個文件夾里文件的對比功能示例【包含內容的對比】
這篇文章主要介紹了Python編程實現(xiàn)兩個文件夾里文件的對比功能,包含內容的對比操作,涉及Python文件與目錄的遍歷、比較、運算等相關操作技巧,需要的朋友可以參考下2017-06-06Python numpy二維數(shù)組如何刪除指定行和列
本文展示了如何對數(shù)組進行行列刪除操作,包括刪除單行、單列、多行和多列的方法,通過具體的運行結果展示,讀者可以清晰地了解到如何在不同情況下進行數(shù)據(jù)處理,文章內容實用,適合需要進行數(shù)據(jù)處理的讀者參考學習2024-09-09