如何在Python中使用Pillow庫在影像上新增文字?
Pillow 提供了多個用於處理影像的工具和函式,包括在影像上新增文字的功能。向影像新增文字對於建立影像字幕、標籤或註釋非常有用。在本文中,我們將探討如何在 Python 中使用 Pillow 在影像上新增文字。我們將討論新增文字的不同方法,例如更改文字的字型、大小、顏色和位置。我們還將提供分步說明和程式碼示例,以幫助您開始使用 Pillow 在影像上新增文字。
Pillow
Python Pillow 模組構建在 PIL (Python Image Library) 之上。它是核心 Python 影像處理模組。Pillow 是由 Jeffrey A. Clark (Alex) 和其他貢獻者建立的 PIL 派生庫。PIL 是由 Frederik Lundh 和其他人開發的 Python 影像庫。但 Python 3 不支援它。但是,此模組可以與 Python 3.x 版本一起用作 PIL。它支援各種影像格式,包括 jpeg、png、bmp、gif、ppm 和 tiff。
藉助 Python 影像庫,您可以使用 Python 對影像進行更多操作。此庫支援各種檔案格式,具有有效的內部表示,並且能夠執行相當複雜的影像處理操作。核心影像庫的開發是為了快速訪問少量基本畫素格式中包含的資料。它應該為開發通用的影像處理工具提供堅實的基礎。
使用 Pillow 在影像上新增文字
Python 的 PIL (Python 影像庫) 是一個單獨的庫,用於開啟影像、處理影像以及將影像儲存為各種格式。使用此 PIL,我們可以對影像執行各種操作,例如建立新影像、修改現有影像、旋轉現有影像等。我們將使用 PIL 庫在影像上新增文字。
語法
Image_object.text((a, b) , Text, desired_font , fill )
解釋
在上面的語法中:
a 和 b 指示在影像上新增文字的起始位置/座標(以畫素為單位)。
文字是我們想要新增到影像中的字串或文字。
Desired_font 是我們想要賦予示例文字的字型大小或字型型別。
Fill 用於為文字提供顏色。
我們將逐步介紹如何使用 Python 的 Pillow 庫在影像上新增文字。
步驟 1:匯入 Python Pillow 庫
讓我們首先安裝此任務所需的庫。安裝完成後,可以匯入庫以在專案中使用。使用 PIP(Python 包管理器實用程式)是安裝此庫最簡單的方法。與絕大多數 Python 庫相容。
pip install pillow
我們可以在一行程式碼中匯入所有重要的包:
from PIL import Image, ImageFont, ImageDraw
步驟 2:選擇要新增文字的特定影像
此步驟涉及選擇並匯入將新增文字的影像。我們將定義一個新變數 (i),並將使用 open() 方法將該特定影像分配給該變數。以下是 open() 方法的語法:
I=Image.open(“sample.png”)
步驟 3:定義文字並將文字新增到影像
在之前的步驟中,我們已經選擇了影像。首先,我們將為文字定義一個變數,然後開始渲染影像。
我們將使用 ImageDraw 模組為影像建立一個物件。
Im = ImageDraw.Draw(i)
我們將向 text() 函式傳遞三個引數。
Im.text((60, 50), "Marilyn Monroe",fill=(0, 0, 0))
起始座標:Pillow 庫使用笛卡爾畫素座標系,(0,0) 在左上角。
用單引號或雙引號括起來的字串
以 RGB 格式設定的文字顏色:Google Picker 是一個查詢理想顏色的好工具。搜尋“顏色選擇器”即可找到此工具。
步驟 4:儲存影像
最後一步是使用 save() 函式儲存影像。
i.save("mm.png")
示例 1
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
# Open the desired Image you want to add text on
i = Image.open('sample2.jpg')
# To add 2D graphics in an image call draw Method
Im = ImageDraw.Draw(i)
mf = ImageFont.truetype('font.ttf', 25)
# Add Text to an image
Im.text((15,15), "Lady watching movie with her dog", (255,0,0), font=mf)
# Display edited image on which we have added the text
i.show()
# Save the image on which we have added the text
i.save("mm.png")
輸出

示例 2
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
# Open the desired Image you want to add text on
i = Image.open('sample.jpg')
# Call draw Method to add 2D graphics in an image
Im = ImageDraw.Draw(i)
mf = ImageFont.truetype('font.ttf', 25)
# Add Text to an image
Im.text((90, 10), "Working",fill=(0, 0, 0),font=mf)
# Display edited image
i.show()
# Save the edited image
i.save("sn.png")
輸出

結論
在這篇 Python 文章中,我們學習瞭如何在影像中新增文字。首先,我們使用最簡單的示例來演示如何將文字新增到影像中。之後,我們更詳細地討論瞭如何使用 Python 程式語言來修改文字,例如更改其大小、顏色和位置。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP