Python - PIL 屬性
Python Imaging Library (PIL)是一個功能強大的庫,它提供了廣泛的支援,用於開啟、操作和儲存許多不同的影像檔案格式。PIL 提供了各種屬性,允許開發者對影像執行各種操作,例如調整大小、裁剪、旋轉、增強和應用濾鏡。PIL 提供了豐富的功能和屬性,支援影像大小調整、裁剪、旋轉、濾鏡、增強等任務。在本文中,我們將深入探討一些最基本的 PIL 屬性及其演算法和步驟,並比較 Python 語法。
Python 影像庫
Python Imaging Library (PIL) 是 Python 生態系統中一個流行的庫,它提供了廣泛的功能來處理影像。它允許開發者開啟、操作和儲存各種影像檔案格式。
使用 PIL,開發者可以使用 Image.open() 函式從檔案中載入影像。載入影像後,可以使用各種屬性和方法訪問和修改它。例如,resize() 屬性允許調整影像大小,同時保持其縱橫比,這對於建立縮圖或為不同用途調整影像尺寸非常有用。
PIL 還提供 crop() 屬性,允許根據指定的座標提取影像的特定部分。此屬性對於關注影像中特定區域或刪除不需要的部分非常有用。
可以使用 PIL 中的 rotate() 屬性實現影像旋轉。它允許開發者將影像旋轉指定的角度,這對於調整影像方向或實現創意效果非常重要。
除了這些基本的影像操作屬性之外,PIL 還提供了許多其他功能。這些包括使用 filter() 屬性將濾鏡應用於影像,使用 enhance() 屬性提高影像質量,新增文字或其他圖形疊加層,甚至執行高階影像處理操作,例如直方圖均衡和顏色通道控制。
PIL 支援各種影像檔案格式,包括 JPEG、PNG、GIF、BMP 和 TIFF 等常用格式。這種靈活性允許開發者處理來自不同來源的影像,並根據需要將處理後的影像儲存為各種格式。
要使用 PIL 的功能,開發者必須使用合適的包管理器(如 pip)安裝該庫。安裝後,可以使用 import 語句將該庫匯入到 Python 指令碼中。
方法 1:影像大小調整
調整影像大小是影像處理中的一項常見任務。PIL 提供了 resize() 屬性,允許我們將影像調整為所需的寬度和高度,同時保持其縱橫比。以下是使用 PIL 調整影像大小的演算法和分步過程:
演算法
步驟 1 - 使用 PIL 的 Image.open() 函式載入影像。
步驟 2 - 指定調整大小後圖像的所需寬度和高度。
步驟 3 - 在影像物件上呼叫 resize() 屬性,並將寬度和高度作為引數傳遞。
步驟 4 - 使用 save() 屬性儲存調整大小後的影像。
示例
from PIL import Image # Set the location of the image to open a specific image image = Image.open('original_image.jpg') # Specify the desired width and height width = 800 height = 600 # Modify the image resized_image = image.resize((width, height)) # Store the resized image resized_image.save('resized_image.jpg')
輸出

方法 2:影像裁剪
裁剪允許我們提取影像的特定部分。PIL 提供了 crop() 屬性,允許我們根據指定的座標裁剪影像。讓我們研究一下使用 PIL 裁剪影像的演算法和步驟:
演算法
步驟 1 - 使用 PIL 的 Image.open() 函式載入影像。
步驟 2 - 指定裁剪區域的座標(左、上、右、下)。
步驟 3 - 在影像物件上呼叫 crop() 屬性,並將座標作為引數傳遞。
步驟 4 - 使用 save() 屬性儲存裁剪後的影像。
程式
from PIL import Image # Load the image image = Image.open('original_image.jpg') # Specify the cropping coordinates left = 100 upper = 100 right = 400 lower = 400 # Crop the image cropped_image = image.crop((left, upper, right, lower)) # Store the resultant image cropped_image.save('cropped_image.jpg')
輸出

方法 3
旋轉影像是在影像處理中另一個常見的操作。PIL 提供了 rotate() 屬性,允許我們將影像旋轉指定的角度。讓我們看一下使用 PIL 旋轉影像的演算法和步驟:
演算法
步驟 1 - 使用 PIL 的 Image.open() 函式載入影像。
步驟 2 - 指定所需的旋轉角度。
步驟 3 - 在影像物件上呼叫 rotate() 屬性,並將角度作為引數傳遞。
步驟 4 - 使用 save() 屬性儲存旋轉後的影像。
示例
from PIL import Image # Set the path of an image that needs to be opened image = Image.open('original_image.jpg') # Step 2: Specify the rotation angle angle = 90 # Step 3: Rotate the image rotated_image = image.rotate(angle) # Step 4: Save the resultant image rotated_image.save('rotated_image.jpg')
輸出

結論
在本文中,我們探討了 PIL 提供的三個基本屬性:影像大小調整、裁剪和旋轉。我們介紹了演算法、分步過程以及每種方法的 Python 語法比較。這些屬性與 PIL 提供的許多其他屬性結合使用,使開發人員能夠有效地執行各種影像處理任務。透過利用 PIL 的功能,您可以使用強大的影像處理功能來增強您的 Python 專案。