最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python圖像處理之新手必看的主流圖片處理庫盤點

 更新時間:2026年03月24日 09:37:26   作者:小莊-Python辦公  
在當今數(shù)字化的時代,圖像處理已經(jīng)成為了數(shù)據(jù)科學、人工智能乃至日常辦公自動化中不可或缺的一部分,Python作為一門簡單易學且功能強大的編程語言,擁有極其豐富的第三方生態(tài)系統(tǒng),本文將以系統(tǒng)且專業(yè)的方式,為初學者盤點Python中最主流的圖像處理庫

引言

在當今數(shù)字化的時代,圖像處理已經(jīng)成為了數(shù)據(jù)科學、人工智能乃至日常辦公自動化中不可或缺的一部分。Python 作為一門簡單易學且功能強大的編程語言,擁有極其豐富的第三方生態(tài)系統(tǒng)。無論你是想給照片加個濾鏡、批量調整圖片大小,還是想入門計算機視覺(CV),Python 都能為你提供完美的工具。

本文將以系統(tǒng)且專業(yè)的方式,為初學者盤點 Python 中最主流的圖像處理庫。我們將從基礎到進階,帶你了解它們各自的特點,并提供簡單易懂的代碼示例。

準備工作

在開始探索這些強大的圖像處理庫之前,請確保你已經(jīng)具備以下基礎條件:

  1. 安裝 Python 環(huán)境:確保你的電腦上安裝了 Python 3.7 或更高版本。
  2. 基礎的 Python 知識:了解變量、函數(shù)、以及如何運行一個簡單的 Python 腳本。
  3. 包管理工具:熟悉如何使用 pip 來安裝第三方庫。我們將在介紹每個庫時提供相應的安裝命令。
  4. 一張測試圖片:在你的代碼目錄下準備一張圖片(例如 test.jpg),以便跟隨本文進行實操。

主流圖像處理庫詳解

1. Pillow (PIL Fork):新手的最佳入門選擇

Pillow 是 Python Imaging Library (PIL) 的一個活躍分支。它是 Python 中最基礎、最直觀的圖像處理庫。如果你只需要進行裁剪、縮放、旋轉、調整顏色或添加文字等日常操作,Pillow 絕對是你的首選。

  • 特點:簡單易用、文檔豐富、輕量級。
  • 安裝pip install Pillow

代碼示例:使用 Pillow 調整圖片大小

from PIL import Image

# 1. 打開一張圖片
img = Image.open('test.jpg')

# 2. 獲取圖片的原始尺寸
print(f"原始尺寸: {img.size}")

# 3. 調整圖片大小為寬300,高200
resized_img = img.resize((300, 200))

# 4. 顯示圖片
resized_img.show()

# 5. 保存處理后的圖片
resized_img.save('resized_test.jpg')

2. OpenCV (Open Source Computer Vision Library):工業(yè)級計算機視覺霸主

OpenCV 是目前世界上最流行的開源計算機視覺庫。雖然它的底層是用 C++ 編寫的,但它的 Python 接口(opencv-python)極其強大。除了基礎的圖像處理,它還支持人臉識別、目標檢測、視頻流分析等高級功能。

  • 特點:性能極高、功能極其強大、適合進階和工業(yè)級項目。
  • 安裝pip install opencv-python

代碼示例:使用 OpenCV 將圖片轉換為黑白(灰度圖)

import cv2

# 1. 讀取圖片
img = cv2.imread('test.jpg')

# 2. 將彩色圖片轉換為灰度圖(黑白)
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# 3. 彈窗顯示結果
cv2.imshow('Gray Image', gray_img)

# 4. 等待用戶按鍵后關閉窗口
cv2.waitKey(0)
cv2.destroyAllWindows()

# 5. 保存圖片
cv2.imwrite('gray_test.jpg', gray_img)

3. Scikit-Image:科學計算與圖像分析利器

Scikit-Image 是基于 Python 科學計算生態(tài)(NumPy, SciPy)構建的圖像處理庫。如果你的工作涉及醫(yī)學圖像分析、天文圖像處理或需要使用復雜的算法(如邊緣檢測、圖像分割),這個庫會非常適合你。

  • 特點:算法嚴謹、與 NumPy 無縫結合、適合科研和數(shù)據(jù)分析。
  • 安裝pip install scikit-image

代碼示例:使用 Scikit-Image 進行邊緣檢測

from skimage import io, filters, color
import matplotlib.pyplot as plt

# 1. 讀取圖片
img = io.imread('test.jpg')

# 2. 轉換為灰度圖
gray_img = color.rgb2gray(img)

# 3. 使用 Sobel 算子進行邊緣檢測
edges = filters.sobel(gray_img)

# 4. 使用 matplotlib 顯示結果
plt.imshow(edges, cmap='gray')
plt.title('Edge Detection')
plt.axis('off')
plt.show()

常見誤區(qū)與避坑指南

對于初學者來說,在處理圖像時很容易遇到以下幾個“坑”:

  1. 色彩通道順序的混淆 (RGB vs BGR)
    • 誤區(qū):認為所有庫讀取圖片的顏色順序都是一樣的。
    • 避坑:Pillow 和 Scikit-Image 默認以 RGB(紅綠藍)順序讀取圖像;而 OpenCV 歷史遺留原因,默認以 BGR(藍綠紅)順序讀取。如果用 OpenCV 讀取圖片直接用 matplotlib 顯示,顏色會變得非常詭異(比如紅蘋果變藍蘋果)。解決方案是使用 cv2.cvtColor(img, cv2.COLOR_BGR2RGB) 進行轉換。
  2. 坐標系與矩陣索引
    • 誤區(qū):把圖像的 ( x , y ) (x, y) (x,y) 坐標和矩陣的 ( r o w , c o l ) (row, col) (row,col) 混為一談。
    • 避坑:在獲取圖像尺寸或裁剪時,Pillow 使用 (寬, 高)(x, y) 坐標;而基于 NumPy 的庫(如 OpenCV 和 Scikit-Image)將圖像視為矩陣,其形狀為 (行, 列, 通道數(shù)),即 (高, 寬, 通道數(shù))。
  3. 選錯工具
    • 誤區(qū):為了簡單裁剪圖片而去學習龐大的 OpenCV。
    • 避坑:殺雞焉用牛刀。如果是簡單的日常批處理,Pillow 是最高效的選擇;如果涉及深度學習和復雜視覺任務,再引入 OpenCV。

學習與總結

Python 豐富的生態(tài)為圖像處理提供了無限可能。對于完全的初學者,建議的學習路徑如下:

  1. 第一步:先熟練掌握 Pillow,了解像素、尺寸、格式轉換等基本概念。
  2. 第二步:學習基本的 NumPy 數(shù)組操作,因為高級圖像處理本質上是對矩陣進行數(shù)學運算。
  3. 第三步:根據(jù)興趣或工作需求,深入學習 OpenCV(計算機視覺方向)或 Scikit-Image(數(shù)據(jù)分析與科研方向)。

掌握圖像處理是邁向計算機視覺和人工智能的重要一步。不要害怕代碼報錯,準備幾張有趣的圖片,現(xiàn)在就開始你的 Python 圖像處理之旅吧!

以上就是Python圖像處理之新手必看的主流圖片處理庫盤點的詳細內容,更多關于Python主流圖片處理庫盤點的資料請關注腳本之家其它相關文章!

相關文章

  • Win下PyInstaller 安裝和使用教程

    Win下PyInstaller 安裝和使用教程

    pyinstaller是一個非常簡單的打包python的py文件的庫,這篇文章主要介紹了PyInstaller-Win安裝和使用教程,本文通過流程實例相結合給大家介紹的非常詳細,需要的朋友可以參考下
    2019-12-12
  • Python加密與解密模塊hashlib與hmac

    Python加密與解密模塊hashlib與hmac

    這篇文章介紹了Python中的加密與解密模塊hashlib與hmac,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • Python import自定義模塊方法

    Python import自定義模塊方法

    python包含子目錄中的模塊方法比較簡單,關鍵是能夠在sys.path里面找到通向模塊文件的路徑。下面給大家介紹python import自定義模塊方法,需要的的朋友參考下
    2015-02-02
  • Python編程之屬性和方法實例詳解

    Python編程之屬性和方法實例詳解

    這篇文章主要介紹了Python編程之屬性和方法,以實例形式較為詳細的分析了Python中屬性與方法的功能、特點與使用技巧,需要的朋友可以參考下
    2015-05-05
  • Python實現(xiàn)指定數(shù)組下標值正序與倒序排序算法功能舉例

    Python實現(xiàn)指定數(shù)組下標值正序與倒序排序算法功能舉例

    在程序中,經(jīng)常需要按數(shù)組倒序或反序重新排列數(shù)組,下面這篇文章主要給大家介紹了關于Python實現(xiàn)指定數(shù)組下標值正序與倒序排序算法功能的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • django框架ModelForm組件用法詳解

    django框架ModelForm組件用法詳解

    這篇文章主要介紹了django框架ModelForm組件用法,結合實例形式較為詳細的分析了Django框架ModelForm組件相關功能、原理、使用方法及操作注意事項,需要的朋友可以參考下
    2019-12-12
  • Python字符串格式化常用手段及注意事項

    Python字符串格式化常用手段及注意事項

    這篇文章主要介紹了Python字符串格式化常用手段,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • 簡單實現(xiàn)python進度條腳本

    簡單實現(xiàn)python進度條腳本

    這篇文章主要教大家如何簡單實現(xiàn)python進度條,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • 從基礎到高級詳解Python實現(xiàn)隨機選擇功能的完全指南

    從基礎到高級詳解Python實現(xiàn)隨機選擇功能的完全指南

    在數(shù)據(jù)科學、算法設計和系統(tǒng)開發(fā)中,隨機選擇是至關重要的核心技術,Python提供了全面的隨機選擇工具集,下面小編就來和大家詳細介紹一下吧
    2025-08-08
  • Python 轉換數(shù)據(jù)類型函數(shù)和轉換數(shù)據(jù)類型的作用

    Python 轉換數(shù)據(jù)類型函數(shù)和轉換數(shù)據(jù)類型的作用

    這篇文章主要介紹了Python 轉換數(shù)據(jù)類型函數(shù)和轉換數(shù)據(jù)類型的作用,圍繞Python 轉換數(shù)據(jù)類型的相關資料展開內容,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-03-03

最新評論

正阳县| 公安县| 合作市| 永泰县| 巨野县| 富顺县| 壤塘县| 炎陵县| 浙江省| 博罗县| 望谟县| 安义县| 六安市| 互助| 黎城县| 宁河县| 安西县| 疏附县| 北流市| 阳朔县| 瑞安市| 砚山县| 安丘市| 平利县| 方城县| 溧阳市| 炉霍县| 广宗县| 金阳县| 墨江| 江津市| 凤城市| 潍坊市| 蒙山县| 同心县| 正阳县| 昆明市| 和硕县| 正定县| 天镇县| 安庆市|