玩轉Python:處理圖像,兩個非常重要的庫,很實用,附代碼

在Python中,圖像處理是一個涉及圖像分析、編輯和處理的廣泛領域。有幾個流行的庫通常用於處理圖像,每個庫都有其特殊的功能和優勢。以下是一些常用的Python圖像處理庫:

1. Pillow (PIL Fork)

Pillow是Python Imaging Library (PIL)的一個分支,它添加了一些用戶友好的特性和改進。Pillow支持許多基本圖像操作,如打開、保存、顯示以及轉換不同圖像格式。

功能:

  • 圖像轉換和處理
  • 圖像濾鏡
  • 繪圖操作

安裝:

pip install Pillow

示例:

from PIL import Image, ImageFilter

# 打開一個圖像文件
image = Image.open('image.jpg')

# 應用模糊濾鏡
blurred_image = image.filter(ImageFilter.BLUR)

# 顯示圖像
blurred_image.show()

2. OpenCV (Open Source Computer Vision Library)

OpenCV是一個開源計算機視覺和機器學習軟件庫。它包含了超過2500個優化算法,包括經典和最新的計算機視覺和機器學習技術。

功能:

  • 圖像和視頻分析
  • 特徵檢測和描述
  • 目標跟蹤
  • 機器學習

安裝:

pip install opencv-python

示例:

import cv2

# 讀取圖像
image = cv2.imread('image.jpg')

# 轉換爲灰度圖像
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# 顯示圖像
cv2.imshow('Gray image', gray_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

3. scikit-image

scikit-image是基於SciPy構建的一個圖像處理庫,它提供了一系列算法和圖像處理工具。

功能:

  • 圖像預處理和增強
  • 分割
  • 特徵提取
  • 幾何變換

安裝:

pip install scikit-image

示例:

from skimage import io, filters

# 讀取圖像
image = io.imread('image.jpg')

# 應用Sobel濾鏡
edges = filters.sobel(image)

# 顯示結果
io.imshow(edges)
io.show()

4. imageio

imageio是一個用於讀取和寫入各種圖像數據格式的庫。它的目標是支持廣泛的格式,包括動畫、視頻、多維和科學格式。

功能:

  • 讀取和寫入多種圖像格式
  • 支持動畫和視頻

安裝:

pip install imageio

示例:

import imageio

# 讀取圖像
image = imageio.imread('image.png')

# 顯示圖像的形狀
print(image.shape)

# 保存圖像
imageio.imwrite('output.jpg', image)

5. matplotlib

matplotlib是一個繪圖庫,它也提供了簡單的圖像處理功能。通常用於顯示圖像和繪製圖像統計信息。

功能:

  • 繪圖
  • 圖像顯示

安裝:

pip install matplotlib

示例:

import matplotlib.pyplot as plt
import matplotlib.image as mpimg

# 讀取圖像
image = mpimg.imread('image.jpg')

# 顯示圖像
plt.imshow(image)
plt.show()

這些庫可以用於廣泛的圖像處理任務,從簡單的日常編輯到複雜的計算機視覺應用程序。選擇哪個庫通常取決於特定的應用需求和個人偏好。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章