將 PIL 影象轉換為 NumPy 陣列

Muhammad Maisam Abbas 2023年1月30日
  1. 在 Python 中使用 numpy.array() 函式將 PIL 影象轉換為 NumPy 陣列
  2. 在 Python 中使用 numpy.asarray() 函式將 PIL 影象轉換為 NumPy 陣列
將 PIL 影象轉換為 NumPy 陣列

本教程將討論在 Python 中將 PIL 影象轉換為 3 維 NumPy 陣列的方法。

在 Python 中使用 numpy.array() 函式將 PIL 影象轉換為 NumPy 陣列

PIL 用於在 Python 中對影象執行各種操作。枕頭庫未預先安裝 Python 程式語言。因此,我們必須先安裝它。下面給出了安裝枕頭庫的命令。

pip install Pillow

如果要將 PIL 庫讀取的影象轉換為 NumPy 陣列,可以使用 numpy.array() 函式。numpy.array() 函式建立並初始化 numpy 陣列。numpy.array() 函式會將 PIL 影象轉換為 3 維陣列。請參見以下程式碼示例。

import numpy as np
from PIL import Image

img = Image.open("NASA.jpg")
imgArray = np.array(img)
print(imgArray.shape)

輸出:

(90, 240, 3)

在上面的程式碼中,我們使用 numpy.array() 函式將 PIL 影象 img 轉換為三維 NumPy 陣列 imgArray。我們使用 Python 中的 Image.open() 函式讀取變數 img 中的影象。然後,我們在 Python 中使用 numpy.array() 函式將 img 轉換為 NumPy 陣列 imgArray。最後,我們使用 print() 函式列印了 imgArray 的形狀。

在 Python 中使用 numpy.asarray() 函式將 PIL 影象轉換為 NumPy 陣列

我們還可以使用 numpy.asarray() 函式來實現與上一個示例相同的目標。numpy.asarray() 函式還建立並初始化一個 numpy 陣列。通過將影象傳遞給 numpy.asarray() 函式,我們可以將 PIL 影象轉換為 numPy 陣列。請參見以下程式碼示例。

import numpy as np
from PIL import Image

img = Image.open("NASA.jpg")
imgArray = np.asarray(img)
print(imgArray.shape)

輸出:

(90, 240, 3)

在上面的程式碼中,我們使用 python 中的 numpy.array() 函式將 PIL 影象 img 轉換為三維 NumPy 陣列 imgArray。我們在 Python 中使用 Image.open() 函式將 img 變數載入到了 img 變數中。然後,我們在 Python 中使用 numpy.asarray() 函式將 img 影象轉換為 NumPy 陣列 imgArray。最後,我們使用 print() 函式列印了 imgArray 的形狀。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn