PythonImage 是一個用 Python 編寫的開源圖像處理庫,提供豐富的圖像處理演算法和工具,其中包括圖片縮放、裁剪、旋轉、色彩處理、圖像濾波、形態學處理、邊緣檢測、特徵提取、圖像分割、圖像壓縮等基本圖像處理操作,同時支持圖像格式的讀取和存儲,並支持多種常見的圖像格式,如JPEG、PNG、BMP等。
一、圖像處理基礎
圖像處理是指利用計算機技術對圖像進行數字化處理,從而達到改善圖像質量、增強圖像信息、提取圖像特徵等目的。PythonImage 提供了基礎的圖像處理演算法,包括:
1.圖像縮放
圖像縮放是圖像處理中的一種常見操作,主要是通過調整圖像的尺寸來達到一定的目的。PythonImage 提供了 resize() 方法來實現圖像縮放,該方法允許用戶指定縮放的比例或者目標尺寸。
from PIL import Image # 打開圖像 image = Image.open('test.jpg') # 圖像縮放成原尺寸的 50% resized_image = image.resize(tuple(map(lambda x: x // 2, image.size))) resized_image.show()
2.圖像旋轉
圖像旋轉主要是將圖像繞一個中心點按一定角度旋轉,常見的旋轉角度為 90°、180°、270°。PythonImage 提供了 rotate() 方法來實現圖像旋轉,方法需要傳入旋轉的角度。
from PIL import Image # 打開圖像 image = Image.open('test.jpg') # 圖像逆時針旋轉 90° rotated_image = image.rotate(-90) rotated_image.show()
3.圖像色彩處理
圖像色彩處理主要是對圖像的顏色分量進行處理,包括色彩空間轉換、顏色變換、顏色調整、顏色分離等。PythonImage 提供了各種色彩處理方法,例如:convert()、split()、merge()。
from PIL import Image # 打開圖像 image = Image.open('test.jpg') # 轉換為灰度圖像 gray_image = image.convert('L') gray_image.show()
二、圖像處理進階
PythonImage 還提供了更加高級的圖像處理演算法,包括:圖像濾波、形態學處理、邊緣檢測、特徵提取、圖像分割、圖像壓縮等。
1.圖像濾波
圖像濾波是一類通過對圖像進行加權平均或非線性加權平均,來增強圖像細節或者去除雜訊的操作。PythonImage 提供了各種圖像濾波方法,例如:GaussianFilter、MedianFilter、MaxFilter、MinFilter 等。
from PIL import ImageFilter, Image # 打開圖像 image = Image.open('test.jpg') # 圖像模糊 blurred_image = image.filter(ImageFilter.GaussianBlur(radius=5)) blurred_image.show()
2.圖像形態學處理
形態學處理是一類基於形態學理論,通過對圖像進行膨脹、腐蝕、開運算、閉運算等操作,來改變圖像的形態、分割目標、去除雜訊等。PythonImage 提供了各種形態學處理方法,例如:erosion、dilation、opening、closing 等。
import cv2 import numpy as np # 讀取圖像 image = cv2.imread('test.jpg', 0) # 圖像膨脹 kernel = np.ones((5, 5), np.uint8) dilated_image = cv2.dilate(image, kernel, iterations=1) cv2.imshow('dilated_image', dilated_image) cv2.waitKey()
3.圖像邊緣檢測
圖像邊緣檢測常用於目標檢測和圖像分割,它們可以將目標從背景中分離出來。PythonImage 提供了各種邊緣檢測方法,例如:Canny、Sobel、Laplacian 等。
import cv2 # 讀取圖像 image = cv2.imread('test.jpg', 0) # 邊緣檢測 canny_image = cv2.Canny(image, 100, 200) cv2.imshow('canny_image', canny_image) cv2.waitKey()
三、圖像格式的讀取和存儲
PythonImage 支持多種常見的圖像格式,包括JPEG、PNG、BMP等。它可以讀取圖像文件並將其轉換為通用的 numpy 數組或者 PIL 圖像對象,還可以將圖像數據存儲為指定格式的文件。
from PIL import Image # 打開圖像 image = Image.open('test.jpg') # 保存為 PNG 格式文件 image.save('test.png', 'PNG')
結語
PythonImage 是一個功能強大的圖像處理工具,既提供了基礎的圖像處理演算法,也提供了更加高級的圖像處理演算法和工具。它兼容各類常見的圖片格式,使用起來也非常方便。如果您需要對圖像進行處理,那麼 PythonImage 將是您最好的選擇。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/232169.html