溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

opencv和numpy以及pillow處理圖片時數(shù)據(jù)各個維度的布局是怎樣的

發(fā)布時間:2021-12-15 18:21:40 來源:億速云 閱讀:180 作者:柒染 欄目:大數(shù)據(jù)

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:
opencv和numpy以及pillow處理圖片時數(shù)據(jù)各個維度的布局是怎樣的opencv和numpy以及pillow處理圖片時數(shù)據(jù)各個維度的布局是怎樣的

運行結(jié)果展示:
opencv和numpy以及pillow處理圖片時數(shù)據(jù)各個維度的布局是怎樣的

關(guān)于opencv和numpy以及pillow處理圖片時數(shù)據(jù)各個維度的布局是怎樣的問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細(xì)節(jié)

免責(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)容。

AI