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

Python圖像處理之新手必看的主流圖片處理庫(kù)盤點(diǎn)

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

引言

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

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

準(zhǔn)備工作

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

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

主流圖像處理庫(kù)詳解

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

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

  • 特點(diǎn):簡(jiǎn)單易用、文檔豐富、輕量級(jí)。
  • 安裝pip install Pillow

代碼示例:使用 Pillow 調(diào)整圖片大小

from PIL import Image

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

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

# 3. 調(diào)整圖片大小為寬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è)級(jí)計(jì)算機(jī)視覺霸主

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

  • 特點(diǎn):性能極高、功能極其強(qiáng)大、適合進(jìn)階和工業(yè)級(jí)項(xiàng)目。
  • 安裝pip install opencv-python

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

import cv2

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

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

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

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

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

3. Scikit-Image:科學(xué)計(jì)算與圖像分析利器

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

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

代碼示例:使用 Scikit-Image 進(jìn)行邊緣檢測(cè)

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

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

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

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

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

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

對(duì)于初學(xué)者來說,在處理圖像時(shí)很容易遇到以下幾個(gè)“坑”:

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

學(xué)習(xí)與總結(jié)

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

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

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

以上就是Python圖像處理之新手必看的主流圖片處理庫(kù)盤點(diǎn)的詳細(xì)內(nèi)容,更多關(guān)于Python主流圖片處理庫(kù)盤點(diǎn)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Win下PyInstaller 安裝和使用教程

    Win下PyInstaller 安裝和使用教程

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

    Python加密與解密模塊hashlib與hmac

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

    Python import自定義模塊方法

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

    Python編程之屬性和方法實(shí)例詳解

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

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

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

    django框架ModelForm組件用法詳解

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

    Python字符串格式化常用手段及注意事項(xiàng)

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

    簡(jiǎn)單實(shí)現(xiàn)python進(jìn)度條腳本

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

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

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

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

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

最新評(píng)論

来宾市| 荥经县| 沛县| 莎车县| 五台县| 舟曲县| 和顺县| 望城县| 汾西县| 随州市| 湟源县| 应城市| 崇文区| 隆子县| 怀来县| 连州市| 乌审旗| 临桂县| 海淀区| 翁牛特旗| 曲周县| 分宜县| 温泉县| 石嘴山市| 铁岭市| 阿鲁科尔沁旗| 赤水市| 雷波县| 襄城县| 来安县| 平阴县| 兴国县| 济阳县| 宣武区| 玉溪市| 项城市| 安庆市| 鄂尔多斯市| 木兰县| 雷波县| 潜山县|