您好,登錄后才能下訂單哦!
opencv和numpy以及pillow處理圖片時數(shù)據(jù)各個維度的布局是怎樣的,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
opencv讀取圖片時,讀取后轉(zhuǎn)為numpy數(shù)組的格式是(height, width, channels). pillow第三方庫讀取圖片后數(shù)據(jù)的格式是(width, height). 使用numpy庫讀取格式為(width, height)的pillow的圖片后, 數(shù)據(jù)的格式自動轉(zhuǎn)為(height, width, channels) pillow從維度為(height, width, channels)的numpy數(shù)據(jù)后, 自動將維度調(diào)整為(width, height).
代碼實驗展示:
from PIL import Imageimport cv2import numpy as npif __name__ == '__main__':print()print('測試opencv-python讀取圖片的格式'.center(50,'-'))img_cv2 = cv2.imread('bryant.jpg', 1) # 讀取圖片文件img_cv2 = np.float32(img_cv2) / 255 # 轉(zhuǎn)為float32類型print('opencv-python的圖片讀取格式:(height, width, channels)',img_cv2.shape) # opencv-python的圖片讀取格式:(height, width, channels) (667, 1000, 3)print()print('測試Python第三方庫Pillow讀取圖片的格式'.center(50,'-'))img_PIL = Image.open("bryant.jpg")print(img_PIL.format, img_PIL.size, img_PIL.mode) # JPEG (1000, 667) RGBprint('圖片的寬度:', img_PIL.width, '圖片的高度:', img_PIL.height) # 圖片的寬度: 1000 圖片的高度: 667print()print('測試Python第三方庫NumPy處理PIL圖片的方式'.center(50,'-'))imgNumPy_from_PIL = np.array(img_PIL)print('imgNumPy的形狀是:', imgNumPy_from_PIL.shape) # imgNumPy的形狀是: (667, 1000, 3)print('NumPy處理PIL圖片的方式:(height, width, channels)',imgNumPy_from_PIL.shape) # NumPy處理PIL圖片的方式:(height, width, channels) (667, 1000, 3) print()print('測試Python第三方庫Pillow讀取NumPy數(shù)據(jù)的格式'.center(50,'-'))mg_PIL_from_Numpy = Image.fromarray(imgNumPy_from_PIL)print(mg_PIL_from_Numpy.format, mg_PIL_from_Numpy.size, mg_PIL_from_Numpy.mode) # None (1000, 667) RGBprint('圖片的寬度:', mg_PIL_from_Numpy.width, '圖片的高度:', mg_PIL_from_Numpy.height) # 圖片的寬度: 1000 圖片的高度: 667mg_PIL_from_Numpy.show() img_PIL.show()
控制臺輸出結(jié)果:
Windows PowerShell 版權(quán)所有 (C) Microsoft Corporation。保留所有權(quán)利。 嘗試新的跨平臺 PowerShell https://aka.ms/pscore6 加載個人及系統(tǒng)配置文件用了 891 毫秒。 (base) PS C:\Users\chenxuqi\Desktop\News4cxq\test4cxq> & 'D:\Anaconda3\envs\ssd4pytorch2_2_0\python.exe' 'c:\Users\chenxuqi\.vscode\extensions\ms-python.python-2021.1.502429796\pythonFiles\lib\python\debugpy\launcher' '61922' '--' 'c:\Users\chenxuqi\Desktop\News4cxq\test4cxq\test.py' --------------測試opencv-python讀取圖片的格式-------------- opencv-python的圖片讀取格式:(height, width, channels) (667, 1000, 3) ------------測試Python第三方庫Pillow讀取圖片的格式------------- JPEG (1000, 667) RGB 圖片的寬度: 1000 圖片的高度: 667 -----------測試Python第三方庫NumPy處理PIL圖片的方式------------ imgNumPy的形狀是: (667, 1000, 3) NumPy處理PIL圖片的方式:(height, width, channels) (667, 1000, 3) ----------測試Python第三方庫Pillow讀取NumPy數(shù)據(jù)的格式---------- None (1000, 667) RGB 圖片的寬度: 1000 圖片的高度: 667 (base) PS C:\Users\chenxuqi\Desktop\News4cxq\test4cxq> conda activate ssd4pytorch2_2_0 (ssd4pytorch2_2_0) PS C:\Users\chenxuqi\Desktop\News4cxq\test4cxq>
使用的原圖:bryant.jpg:
運行結(jié)果展示:
關(guān)于opencv和numpy以及pillow處理圖片時數(shù)據(jù)各個維度的布局是怎樣的問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。