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/n/126211.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
YVEKPYVEKP
上一篇 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

发表回复

登录后才能评论