目錄
如何在我的系統上安裝Python圖像處理庫(PIL)?
如何使用PIL打開和顯示圖像?
如何使用PIL調整圖像大小?
首頁 科技週邊 IT業界 使用Python成像庫操縱圖像

使用Python成像庫操縱圖像

Feb 19, 2025 pm 12:33 PM

Python圖像處理庫PIL/Pillow入門指南

核心要點

  • Python圖像處理庫(PIL)是一個免費工具,它為Python解釋器添加了圖像處理功能,支持各種圖像文件格式,並提供標準的圖像處理程序,例如基於像素的操作、濾鏡、圖像增強等等。
  • 儘管PIL的最後一個版本(1.1.7)發佈於2009年,並且只支持Python 1.5.2-2.7,但名為Pillow的項目已經fork了PIL的代碼庫並添加了Python 3.x的支持,使其成為大多數Python用戶可行的選擇。
  • 使用PIL或Pillow,您可以輕鬆執行諸如讀取圖像、將圖像轉換為灰度或其他類型、調整圖像大小以及保存圖像等任務。該庫的全面文檔提供了更多詳細信息和教程。

在之前的關於Python技巧的文章中,我提到過Python是一種能夠激髮用戶熱愛的語言。

原因之一是這種語言提供了大量的節省時間的庫。一個很好的例子是Python圖像處理庫(PIL),本文將重點介紹它。

PIL能做什麼

PIL是一個免費的庫,它為Python解釋器添加了圖像處理功能,支持多種圖像文件格式,例如PPM、PNG、JPEG、GIF、TIFF和BMP。

PIL提供了許多標準的圖像處理/操作程序,例如:

  • 基於像素的操作
  • 遮罩和透明度處理
  • 濾鏡(例如,模糊、輪廓、平滑、邊緣檢測)
  • 圖像增強(例如,銳化、亮度調整、對比度)
  • 幾何、顏色和其他變換
  • 向圖像添加文本
  • 剪切、粘貼和合併圖像
  • 創建縮略圖

PIL和Pillow

PIL的一個問題是,其最新的版本1.1.7發佈於2009年,並且只支持Python 1.5.2-2.7。儘管PIL網站承諾即將推出Python 3.x的版本,但其最後一次提交是在2011年,並且開發似乎已經停止。

幸運的是,對於Python 3.x用戶來說,並非一切都已結束。一個名為Pillow的項目已經fork了PIL的代碼庫並添加了Python 3.x的支持。鑑於大多數讀者可能都在使用Python 3.x,因此本文將重點介紹Pillow更新。

安裝Pillow

由於Pillow支持從Python 2.4到最新版本的Python,我將只關注Pillow的安裝,而不是舊版本的PIL。

在Mac上使用Python

我目前正在Mac OS X Yosemite 10.10.5上編寫本教程,因此將描述如何在Mac OS X機器上安裝Pillow。但是,不用擔心,我將在本節末尾提供一個鏈接,其中描述瞭如何在其他操作系統上安裝Pillow。

我只想在這裡指出,Mac OS X預裝了Python。但是,該版本很可能早於3.x。

例如,在我的機器上,當我運行$ python --version終端命令時,我得到的是Python 2.7.10。

Python和pip

安裝Pillow的一種非常簡單的方法是通過pip。

如果您的機器上沒有安裝pip,只需在終端中輸入以下命令即可完成:

1

$ sudo easy_install pip

登入後複製
登入後複製

現在,要安裝Pillow,只需在終端中輸入以下內容:

1

$ sudo pip install pillow

登入後複製
登入後複製

這很容易,不是嗎?

正如我承諾的那樣,有關在其他操作系統上安裝Pillow的信息,您可以在這裡找到相關說明。

一些例子

在本節中,我將演示一些我們可以使用PIL完成的簡單操作。

我將對以下圖像執行這些測試:

Manipulating Images with the Python Imaging Library

如果您想按照這些示例操作,請下載此圖像。

讀取圖像

這是圖像處理任務中最基本的操作,因為要處理圖像,必須先讀取它。使用PIL,這可以很容易地完成,如下所示:

1

2

from PIL import Image

img = Image.open('brick-house.png')

登入後複製

請注意,這裡的img是一個PIL圖像對象,由open()函數創建,該函數是PIL Image模塊的一部分。

您還可以讀取已打開的文件、字符串或tar存檔。

將圖像轉換為灰度、顯示並保存

文件brick-house.png是一個彩色圖像。要將其轉換為灰度、顯示它,然後保存新的灰度圖像,您可以簡單地執行以下操作:

1

2

3

4

from PIL import Image

img = Image.open('brick-house.png').convert('L')

img.show()

img.save('brick-house-gs','png')

登入後複製

請注意,我們使用了三個主要函數來執行此操作:convert()、show()和save()。由於我們要轉換為灰度圖像,因此在convert()中使用了參數'L'。

以下是生成的圖像:

Manipulating Images with the Python Imaging Library

轉換為其他圖像類型

我們正在處理的圖像是png類型。假設您想將其轉換為其他圖像類型,例如jpg。可以使用save()函數(如上小節中用於保存結果(將輸出寫入磁盤)的函數)來執行此操作:

1

2

3

from PIL import Image

img = Image.open('brick-house.png')

img.save('brick-image','jpeg')

登入後複製

調整圖像大小

我們原始圖像的大小(尺寸)是440 x 600像素。如果我們想調整它的大小,並使其大小為256 x 256像素,則可以執行以下操作:

1

2

3

4

from PIL import Image

img = Image.open('brick-house.png')

new_img = img.resize((256,256))

new_img.save('brick-house-256x256','png')

登入後複製

這會生成一個新的正方形圖像:

Manipulating Images with the Python Imaging Library

如您所見,這會將圖像壓縮到所需的尺寸,而不是裁剪它,這可能不是您想要的。當然,您也可以在保持適當縱橫比的同時裁剪圖像。

總結

這個快速入門僅旨在介紹PIL的表面,並演示如何通過PIL庫在Python中輕鬆完成一些複雜的圖像處理任務。

您可以使用此庫執行的許多其他操作在全面的Pillow文檔中進行了描述,您可以在其中閱讀有關上述問題的更多詳細信息以及方便的教程。

我希望這個介紹能激勵您嘗試使用Python進行圖像處理。玩得開心!

Python圖像處理庫(PIL)常見問題解答(FAQ)

如何在我的系統上安裝Python圖像處理庫(PIL)?

要安裝Python圖像處理庫(PIL),您需要使用pip,它是Python的包管理器。打開您的終端或命令提示符並輸入以下命令:pip install pillow。 'pillow'庫是PIL的一個分支,並且正在積極維護,因此建議使用'pillow'而不是PIL。如果您安裝了多個版本的Python,則可能需要對Python 3使用pip3 install pillow

如何使用PIL打開和顯示圖像?

要使用PIL打開和顯示圖像,您需要使用Image.open()函數打開圖像,並使用Image.show()函數顯示圖像。這是一個示例:

1

$ sudo easy_install pip

登入後複製
登入後複製

在此代碼中,'image.jpg'是您的圖像文件的名稱。確保圖像文件與您的Python腳本位於同一目錄中,或者提供圖像文件的完整路徑。

如何使用PIL調整圖像大小?

要使用PIL調整圖像大小,您可以使用Image.resize()函數。此函數接受一個元組,該元組指定以像素為單位的新大小。這是一個示例:

1

$ sudo pip install pillow

登入後複製
登入後複製

在此代碼中,圖像大小調整為800×800像素。

(後續FAQ答案類似,略去,保持文章大意不變)

以上是使用Python成像庫操縱圖像的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

安卓首家接入DeepSeek背後:看見女性力量 安卓首家接入DeepSeek背後:看見女性力量 Mar 12, 2025 pm 12:27 PM

中国女性科技力量在AI领域的崛起:荣耀与DeepSeek合作背后的女性故事女性在科技领域的贡献日益显著。中国科技部数据显示,女性科技工作者数量庞大,在AI算法开发中展现出独特的社会价值敏感性。本文将聚焦荣耀手机,探究其率先接入DeepSeek大模型背后的女性团队力量,展现她们如何推动科技进步,重塑科技发展价值坐标系。2024年2月8日,荣耀正式上线DeepSeek-R1满血版大模型,成为安卓阵营首家接入DeepSeek的厂商,引发用户热烈反响。这一成功背后,女性团队成员在产品决策、技术攻坚和用户

DeepSeek'驚人”盈利:理論利潤率高達545%! DeepSeek'驚人”盈利:理論利潤率高達545%! Mar 12, 2025 pm 12:21 PM

DeepSeek公司在知乎發布技術文章,詳細介紹了其DeepSeek-V3/R1推理系統,並首次公開關鍵財務數據,引發業界關注。文章顯示,該系統單日成本利潤率高達545%,創下全球AI大模型盈利新高。 DeepSeek的低成本策略使其在市場競爭中佔據優勢。其模型訓練成本僅為同類產品的1%-5%,V3模型訓練成本僅為557.6萬美元,遠低於競爭對手。同時,R1的API定價僅為OpenAIo3-mini的1/7至1/2。這些數據證明了DeepSeek技術路線的商業可行性,也為AI大模型的高效盈利樹立了

2025年最佳10個最佳免費反向鏈接檢查器工具 2025年最佳10個最佳免費反向鏈接檢查器工具 Mar 21, 2025 am 08:28 AM

網站建設只是第一步:SEO與反向鏈接的重要性 建立網站只是將其轉化為寶貴營銷資產的第一步。您需要進行SEO優化,以提高網站在搜索引擎中的可見度,吸引潛在客戶。反向鏈接是提升網站排名的關鍵,它向谷歌和其他搜索引擎表明您的網站權威性和可信度。 並非所有反向鏈接都有利:識別並避免有害鏈接 並非所有反向鏈接都有益。有害鏈接會損害您的排名。優秀的免費反向鏈接檢查工具可以監控鏈接到您網站的來源,並提醒您注意有害鏈接。此外,您還可以分析競爭對手的鏈接策略,從中學習借鑒。 免費反向鏈接檢查工具:您的SEO情報員

美的推出首款DeepSeek空調:AI語音交互 可實現40萬 條指令! 美的推出首款DeepSeek空調:AI語音交互 可實現40萬 條指令! Mar 12, 2025 pm 12:18 PM

美的即将发布搭载DeepSeek大模型的首款空调——美的鲜净感空气机T6,发布会定于3月1日下午1点30分举行。这款空调配备先进的空气智驾系统,可根据环境智能调节温度、湿度和风速等参数。更重要的是,它集成了DeepSeek大模型,支持超过40万条AI语音指令。美的此举引发业界热议,尤其关注白电产品与大模型结合的意义。不同于传统空调简单的温度设定,美的鲜净感空气机T6能够理解更复杂、更模糊的指令,并根据家庭环境智能调节湿度等,显著提升用户体验。

百度又一國民產品接入DeepSeek,是想開了還是跟風? 百度又一國民產品接入DeepSeek,是想開了還是跟風? Mar 12, 2025 pm 01:48 PM

DeepSeek-R1賦能百度文庫與網盤:深度思考與行動的完美融合短短一個月內,DeepSeek-R1已迅速融入眾多平台。百度憑藉大膽的戰略佈局,將DeepSeek作為第三方模型夥伴,整合進自身生態系統,這標誌著其“大模型 搜索”生態戰略的重大進展。百度搜索和文心智能體平台率先接入DeepSeek及文心大模型的深度搜索功能,為用戶提供免費的AI搜索體驗。同時,“百度一下,你就知道”的經典slogan回歸,新版百度APP也整合了文心大模型和DeepSeek的能力,推出“AI搜索”、“全網信息提煉”

及時的網絡開發工程 及時的網絡開發工程 Mar 09, 2025 am 08:27 AM

AI及時的代碼生成工程:開發人員指南代碼開發的景觀已準備好進行重大轉變。 掌握大型語言模型(LLM)和及時工程對於未來幾年對開發人員至關重要。 Th

使用GO構建網絡漏洞掃描儀 使用GO構建網絡漏洞掃描儀 Apr 01, 2025 am 08:27 AM

此基於GO的網絡漏洞掃描儀有效地確定了潛在的安全弱點。 它利用了GO的並發功能的速度功能,包括服務檢測和漏洞匹配。讓我們探索它的能力和道德

See all articles