Python Wand库

Python Wand库

ImageMagick 是一个用于图像格式转换的实用程序,它经过广大社区的支持,因为它支持多种图像格式,并且执行精确且简单。我们可以从PDF格式文件中获取图像。

在下面的教程中,我们将讨论由 Imagemagick 开发的用于Python的绑定 wand 。我们将使用不同的示例在Python编程语言中了解Wand库的特点和用法。

所以,让我们开始吧。

了解Python中的Wand库

wand 是为Python编程语言开发的 ImageMagick 库。此库支持Python版本2.6、2.7、3.3+和PyPy中 ImageMagickImagick API的功能。Wand用于打开和操作图像。此库不仅支持图像处理,还通过 NumPy 库为机器学习代码提供了有价值的功能。Wand提供了大量用于操作图像的函数。以下是Python wand 库的一些用途:

Python Wand库的用途

  1. wand 库用于读取/写入各种格式的图像,并用于将图像从一种形式转换为另一种形式。
  2. 它还支持图像缩放和裁剪。
  3. 此库向图像添加简单特效。
  4. 此库还向图像添加特殊效果。
  5. 它还用于转换图像。
  6. 它还支持其他颜色增强功能。

现在,让我们安装Python的 wand 库。

如何安装wand库

我们可以使用pip安装程序使用以下命令安装 wand 模块:

语法:

$ pip install wand

模块将安装在系统中作为Python和pip的版本。

正如我们讨论过的, wand 库是一个 Imagick API,因此我们还必须包含 Imagick 的依赖项。对于 Imagick 的依赖项的安装过程在不同的操作系统中有很大区别。

对于Ubuntu / Debian

语法:

$ sudo apt-get install libmagickwand-dev

对于Mac(使用Brew安装程序)

语法:

$ brew install imagemagick

MacPort的安装:

语法:

$ sudo port install imagemagick

注意:如果使用MacPort未安装Python,则必须按照下面的示例导出MAGICK_HOME:

语法:

$ export MAGICK_HOME=/opt/local

对于Windows

我们可以自己创建ImageMagick; 但是,它需要一个构建工具链,如Visual Studio才能进行编译。 一个简单的方法是下载一个预编译的ImageMagick二进制文件,适用于相应的架构(win32或win64)

我们可以从以下链接下载:

https://www.imagemagick.org/download/binaries/

验证安装

为了检查模块是否已正确安装在系统中,我们可以尝试导入模块并执行程序。

安装完成后,请创建一个新的Python文件并在其中键入以下语法。

示例:

# importing the required module
import wand

现在,保存文件并在命令提示符中使用以下命令运行文件。

语法:

$ python .py

如果程序运行时没有引发任何导入错误,则模块已经正确安装。否则建议重新安装该模块并参考它的官方文档。

现在,让我们开始使用wand库。

使用Python Wand读取图像

Python的 wand 库的 image 模块允许程序员使用其 Image 模块导入图像文件。然后我们可以使用不同的属性来读取图像,例如 heightwidth 等等。

让我们考虑以下示例。

示例:

# 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)

输入图像:

Python Wand库

输出:

Height of the image: 33
Width of the image: 150

解释:

在上面的代码片段中,我们从wand.image库中导入了Image模块。然后我们使用Image()函数从目录中导入图像。接着我们使用不同的属性来读取输入图像的尺寸。结果,程序将图像的尺寸(高度和宽度)返回给用户。

使用Python Wand模糊图像

wand库允许程序员使用blur()函数对图像进行模糊处理,并使用save()函数保存图像。

让我们考虑以下示例来理解这个。

示例:

# 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")

输入图片:

Python Wand库

输出:

Python Wand库

说明:

在上面的代码片段中,我们从 wand.image 库中导入了 Image 模块。然后我们从目录中导入所需的图像,并使用 blur() 函数,将 radius 参数设置为 0 ,将 sigma 参数设置为 3 。最后,我们使用 save() 函数将文件保存为指定的新文件名。

因此,提供的图像将以半径为0和sigma为3的模糊效果保存为指定的文件名。

使用Python Wand转换图像

我们还可以使用 wand 库的几个函数来转换图像。让我们通过以下示例来理解。

示例:

# 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')

输入图像:

Python Wand库

输出:

Python Wand库

解释:

在上述代码片段中,我们从 wand.image 库中导入了 Image 模块。然后我们再次从目录中导入了图像文件,并使用 clone() 函数生成了图像。然后我们对克隆的图像使用了 flip() 函数,并使用 save() 函数将结果图像保存到文件中。

结果是,输入图像已成功转换。

使用Python Wand绘制不同图形

Python wand 库还提供了许多函数,可以帮助我们绘制不同的图形。

让我们看下面的示例来了解具体情况。

示例:

# 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')

输出:

Python Wand库

解释:

在上面的代码片段中,我们从 wand 库中导入了所需的模块。然后,我们使用 Drawing() 函数绘制了一个圆。然后,我们使用了不同的属性来指定尺寸、颜色和轮廓颜色。然后,我们使用 Image() 函数指定了高度、宽度和背景颜色,并使用 save() 函数将结果图像保存给用户。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程