ImageMagick 是一個為從一種格式到另一種格式的圖像轉換而設計和開發的實用程序。該工具得到了一個大型社區的支持,因為它有多種多樣的圖像格式,並且執行起來既精確又簡單。我們可以從 PDF 格式的文件中獲取圖像。
在接下來的教程中,我們將討論由 Imagemagick 為 Python 開發的一個名為魔杖的綁定。我們將通過不同的例子來了解 Python 編程語言中魔杖庫的特性和用途。
所以,讓我們開始吧。
魔杖是一個為 Python 編程語言開發的 ImageMagick 庫。該庫支持 Python 版本 2.6、2.7、3.3+和 PyPy 中 ImageMagick 或 Imagick API 的功能。棒用於打開和操作圖像。該庫不僅支持圖像處理,而且在 NumPy 庫的幫助下,為機器學習代碼提供了有價值的功能。棒提供了大量操作圖像的功能。Python 棒庫的一些用途如下所示:
- 棒庫用於讀取/寫入各種格式的圖像,也用於將圖像從一種形式轉換為另一種形式。
- 它還支持圖像縮放和裁剪。
- 這個庫為圖像添加了簡單的效果。
- 該庫還為圖像添加了特殊效果。
- 它也用於變換圖像。
- 它還支持其他顏色增強。
現在,讓我們安裝 Python 魔杖庫。
我們可以使用以下命令在 pip 安裝程序的幫助下安裝棒模塊:
語法:
$ pip install wand
該模塊將作為 Python 和 pip 版本安裝在系統中。
正如我們已經討論過的魔杖庫是一個 Imagick API,因此,我們還必須包含 Imagick 依賴項。映像包依賴項的安裝過程對於不同的操作系統是非常不同的。
語法:
$ sudo apt-get install libmagickwand-dev
語法:
$ brew install imagemagick
語法:
$ sudo port install imagemagick
語法:
$ export MAGICK_HOME=/opt/local
我們可以自己創建ImageMagick;然而,為了編譯它,它需要一個構建工具鏈,比如 Visual Studio。一個簡單的方法是為該架構(win32 或 win64)下載一個預構建的二進位文件 ImageMagick
我們可以從以下鏈接下載:
https://www.imagemagick.org/download/binaries/
為了檢查模塊是否已經正確安裝在系統中,我們可以嘗試導入模塊並執行程序。
安裝完成後,創建一個新的 Python 文件,並在其中鍵入以下語法。
示例:
# importing the required module
import wand
現在,保存該文件並在命令提示符下使用以下命令運行該文件。
語法:
$ python .py
如果程序運行時沒有出現任何導入錯誤,則模塊安裝正確。否則,建議重新安裝該模塊,並參考其官方文檔。
現在,讓我們了解開始使用 ImageMagick 庫。
Python 魔杖的圖像庫允許程序員使用其圖像模塊導入圖像文件。然後我們可以使用不同的屬性來讀取圖像,例如高度、寬度等等。
讓我們同樣考慮下面的例子。
示例:
# Importing library from the wand
from wand.image import Image
# Importing the image
with Image(filename ='jtp_logo.png') as my_pic:
# Reading the image to fetch original dimensions
print('Height of the image:', my_pic.height)
print('Width of the image:', my_pic.width)
輸入圖像:
輸出:
Height of the image: 33
Width of the image: 150
說明:
在上面的代碼片段中,我們從魔杖. image 庫中導入了 Image 模塊。然後我們使用圖像()功能從目錄導入圖像。然後,我們使用不同的屬性來讀取輸入圖像的尺寸。結果,程序將圖像的尺寸(高度和寬度)返回給用戶。
棒庫允許程序員使用模糊()功能模糊圖像,並將其保存為保存()功能。
讓我們考慮下面的例子來理解同樣的事情。
示例:
# Importing library from the wand
from wand.image import Image
# Importing the image
with Image(filename ='jtp_logo.png') as my_pic:
# Invoking blur function with radius 0 and sigma 3
my_pic.blur(radius = 0, sigma = 3)
# saving the processed iamge
my_pic.save(filename ="blur_img.png")
輸入圖像:
輸出:
說明:
在上面的代碼片段中,我們從魔杖. image 庫中導入了 Image 模塊。然後我們從目錄中導入所需的圖像,並使用模糊()功能,將半徑參數指定為 0 ,將西格瑪參數指定為 3 。最後,我們已經使用 save() 函數保存了文件,該函數為圖像文件指定了新的文件名。
結果,提供的圖像變得模糊,半徑為 0 和σ3,並保存為指定的文件名。
我們也可以使用棒庫的幾個功能來轉換圖像。讓我們考慮下面的例子來理解同樣的事情。
示例:
# Importing library from the wand
from wand.image import Image
# Importing the image
with Image(filename ='jtp_logo.png') as my_pic:
# Cloning the image in order to process
with my_pic.clone() as my_flip:
# Invoking flip function
my_flip.flip()
# Saving the image
my_flip.save(filename = 'flip-jtp.jpg')
輸入圖像:
輸出:
說明:
在上面的代碼片段中,我們從魔杖. image 庫中導入了 Image 模塊。然後,我們再次從目錄中導入圖像文件,並使用克隆()功能製作圖像。然後,我們對克隆的圖像使用了 flip() 功能,並使用 save() 功能將結果圖像保存在文件中。
因此,輸入圖像已成功轉換。
Python 魔杖庫也為我們提供了不同的功能,讓我們可以畫出不同的圖形。
讓我們考慮下面的例子來理解同樣的事情。
示例:
# Importing libraries from the wand
from wand.image import Image
from wand.drawing import Drawing
from wand.color import Color
with Drawing() as img_draw:
# Setting Stroke color the circle to black
img_draw.stroke_color = Color('black')
# Setting Width of the circlw to 3
img_draw.stroke_width = 3
# Setting the fill color to 'Yellow'
img_draw.fill_color = Color('yellow')
# Invoking the Circle function with center
# at 250, 250 and radius 125
img_draw.circle((250, 250), # Center point
(125, 125)) # Perimeter point
with Image(
width = 420,
height = 420,
background = Color('green')
) as my_pic:
img_draw(my_pic)
my_pic.save(filename = 'img-circle.jpg')
輸出:
說明:
在上面的代碼片段中,我們已經從棒庫中導入了所需的模塊。然後我們使用繪製()功能來繪製一個圓。然後,我們使用不同的屬性來指定尺寸、顏色和輪廓顏色。然後,我們使用圖像()功能指定高度、寬度和背景顏色,並使用保存()功能為用戶保存結果圖像。
原創文章,作者:YVEKP,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/126211.html