Python圖像處理可以通過多種庫來實現,其中最常用的是Pillow(PIL的升級版)和OpenCV。以下是一些基本的圖像處理步驟和示例代碼:
安裝Pillow
pip install pillow
基本操作
from PIL import Image
# 打開圖像
image = Image.open('example.jpg')
# 顯示圖像
image.show()
# 保存圖像
image.save('example_copy.jpg')
# 圖像裁剪
cropped_image = image.crop((100, 100, 300, 300))
cropped_image.show()
# 圖像旋轉
rotated_image = image.rotate(90)
rotated_image.show()
# 圖像縮放
resized_image = image.resize((200, 200))
resized_image.show()
安裝OpenCV
pip install opencv-python
基本操作
import cv2
# 打開圖像
image = cv2.imread('example.jpg')
# 顯示圖像
cv2.imshow('Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 保存圖像
cv2.imwrite('example_copy.jpg', image)
# 圖像裁剪
cropped_image = image[100:300, 100:300]
cv2.imshow('Cropped Image', cropped_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 圖像旋轉
(h, w) = image.shape[:2]
center = (w // 2, h // 2)
M = cv2.getRotationMatrix2D(center, 90, 1.0)
rotated_image = cv2.warpAffine(image, M, (w, h))
cv2.imshow('Rotated Image', rotated_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 圖像縮放
resized_image = cv2.resize(image, (200, 200))
cv2.imshow('Resized Image', resized_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 邊緣檢測
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray_image, 100, 200)
cv2.imshow('Edges', edges)
cv2.waitKey(0)
cv2.destroyAllWindows()
# 顏色空間轉換
hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
cv2.imshow('HSV Image', hsv_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
除了Pillow和OpenCV,還有其他一些圖像處理庫,如Scikit-image、Mahotas等,它們提供了更多的高級功能和算法。
選擇哪個庫取決于你的具體需求。Pillow適合基本的圖像處理任務,而OpenCV則更適合復雜的計算機視覺任務。你可以根據需要選擇合適的庫進行圖像處理。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。