Python使用ImageMagick进行图像处理指南

在图像处理方面,Python是一门广泛使用的编程语言。每当我们为建立模型处理图像数据时,对图像的预处理是至关重要的。在预处理中,我们确保图像具有正确的尺寸和正确的类型。除了pilllow、opencv等,ImageMagick处理图像也很方便。

Imagemagick简介

ImageMagick可创建、编辑、编排或转换位图图像。它可以读取和写入各种格式的图像(超过200种),包括PNG、JPEG、GIF、HEIC、TIFF、DPX、EXR、WebP、Postscript、PDF和SVG等。使用ImageMagick来调整大小、翻转、镜像、旋转、扭曲、剪切和转换图像,调整图像颜色,应用各种特殊效果,或绘制文本、线条、多边形、椭圆和贝塞尔曲线。

ImageMagick的通常在命令行中使用,或者你可以从用你喜欢的编程语言编写的程序中使用这些功能。比如PythonMagick(Python),G2F(Ada),MagickCore(C),MagickWand(C),ChMagick(Ch),ImageMagickObject(COM+),Magick++(C++),JMagick(Java),L-Magick(Lisp),NMagick(Neko/haXe),MagickNet(。 NET)、PascalMagick(Pascal)、PerlMagick(Perl)、MagickWand for PHP(PHP)、IMagick(PHP)、、Magick(R)、RMagick(Ruby)或TclMagick(Tcl/TK)。

ImageMagick利用多个计算线程来提高性能,可以读取、处理或写入百万、千兆或兆像素的图像尺寸。

ImageMagick的官网是https://imagemagick.org。源代码库是https://github.com/ImageMagick/ImageMagick。

Imagemagick能做什么?

下载Imagemagick

# apt install imagemagick
# pip install wand
Python使用ImageMagick进行图像处理指南

读取图像的尺寸

>>> from wand.image import Image
>>> ny = Image(filename ='wugang.jpg')
>>> print(ny.height, ny.width)
324 550

将图像从jpg转换成png

>>> ny_convert = ny.convert('png')
>>> ny_convert.save(filename ='wugang.png')

模糊图像

>>> ny = Image(filename ='wugang.jpg')
>>> ny.blur(sigma = 4)
True
>>> ny.save(filename ="wugang_blur.jpg")
Python使用ImageMagick进行图像处理指南

翻转图像

>>> ny = Image(filename ='wugang.jpg')
>>> flip_ny = ny.clone()
>>> flip_ny.flip()
True
>>> flip_ny.save(filename ='flip_wugang.jpg')
Python使用ImageMagick进行图像处理指南

旋转图像

>>> ny2 = ny.clone()
>>> ny2.rotate(45)
True
>>> print(ny2.height, ny2.width)
620 620
>>> ny2.save(filename ='rotate_wugang.jpg')
Python使用ImageMagick进行图像处理指南

裁剪图像

>>> ny2 = ny.clone()
>>> ny2.crop(50, 90, 200, 300)
True
>>> ny2.save(filename = 'wugang_cropped.jpg')

Python使用ImageMagick进行图像处理指南

创建边缘

>>> ny2 = ny.clone()
>>> ny2.edge(radius = 1)
True
>>> ny2.save(filename="edge_wugang.jpg")
Python使用ImageMagick进行图像处理指南

素描

>>> ny2 = ny.clone()
>>> ny2.sketch(0.5, 0.0, 98.0)
True
>>> ny2.save(filename="wugang_sketch.jpg")
Python使用ImageMagick进行图像处理指南

使用transform_colorspace()函数并传递'grey'作为参数。输出将是黑白素描。

>>> ny2 = ny.clone()
>>> ny2.transform_colorspace('gray')
True
>>> ny2.sketch(0.5, 0.0, 98.0)
True
>>> ny2.save(filename="wugang_sketch_gray.jpg")
Python使用ImageMagick进行图像处理指南

灰度素描
同样,我们还可以在图像上应用其他的特殊效果,如添加噪音、polaroid、漩涡、色调、波浪、太阳化等。

调整大小

>>> ny2 = ny.clone()
>>> ny2.resize(200,100)
True
>>> ny2.save(filename="wugang_resize.jpg")


Python使用ImageMagick进行图像处理指南

将PDF转换为图像

from wand.image import Image

ny = Image(filename ='test.pdf')
ny_converted = ny.convert('jpg')
ny_converted.save(filename='test.pdf.jpg')

添加文字水印

from wand.image import Image
from wand.drawing import Drawing
ny = Image(filename = 'wugang.jpg')
draw = Drawing()
draw.font = '/usr/share/fonts/truetype/arphic/ukai.ttc'
draw.font_size = 20
draw.text(10, 100, '武冈')
draw(ny)
ny.save(filename='text wuang.jpg')
展开阅读全文

页面更新:2024-06-14

标签:锐化   武冈   多核   水印   素描   线程   像素   形状   图像   边缘   模糊   尺寸   文本   色彩   大小   指南   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top