Python ImageMagick 庫

ImageMagick 是一個為從一種格式到另一種格式的圖像轉換而設計和開發的實用程序。該工具得到了一個大型社區的支持,因為它有多種多樣的圖像格式,並且執行起來既精確又簡單。我們可以從 PDF 格式的文件中獲取圖像。

在接下來的教程中,我們將討論由 Imagemagick 為 Python 開發的一個名為魔杖的綁定。我們將通過不同的例子來了解 Python 編程語言中魔杖庫的特性和用途。

所以,讓我們開始吧。

魔杖是一個為 Python 編程語言開發的 ImageMagick 庫。該庫支持 Python 版本 2.6、2.7、3.3+和 PyPy 中 ImageMagick 或 Imagick API 的功能。棒用於打開和操作圖像。該庫不僅支持圖像處理,而且在 NumPy 庫的幫助下,為機器學習代碼提供了有價值的功能。棒提供了大量操作圖像的功能。Python 棒庫的一些用途如下所示:

  1. 棒庫用於讀取/寫入各種格式的圖像,也用於將圖像從一種形式轉換為另一種形式。
  2. 它還支持圖像縮放和裁剪。
  3. 這個庫為圖像添加了簡單的效果。
  4. 該庫還為圖像添加了特殊效果。
  5. 它也用於變換圖像。
  6. 它還支持其他顏色增強。

現在,讓我們安裝 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-hant/n/126211.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
YVEKP的頭像YVEKP
上一篇 2024-10-03 23:07
下一篇 2024-10-03 23:07

相關推薦

  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29

發表回復

登錄後才能評論