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(Java)NET、PascalMagick(Pascal)、PerlMagick(Perl)、MagickWandforPHP(PHP)、IMagick(PHP)、Magick(R)、RMagick(Ruby)或TclMagick(Tcl/TK)。
ImageMagick使用多个计算线程来提高性能,可以读取、处理或写入大小为数百万、千兆字节或百万像素的图像。
ImageMagick的官方网站是https://imagemagick.org。源代码库是https://github.com/ImageMagick/ImageMagick.
Imagemagick能做什么?格式转换:格式转换(如PNG转换成JPEG)。转换:调整大小、旋转、纠偏、裁剪、翻转或修剪图像。透明度:使图像的某些部分不可见。绘制:在图像上添加形状或文字。装饰:为图像添加边界或框架。特效:对图像进行模糊、锐化、阈值或调色。文本和评论:在图像中插入描述性或艺术性文本。图像渐变:创建一种颜色的渐变混合,其形状是水平、垂直、圆形或椭圆形的。图像识别:描述图像的格式和属性。复合:将一个图像重叠在另一个图像上。蒙太奇:将图像缩略图并列在一个图像画布上。通用像素失真:纠正或诱导图像失真,包括透视。形状的形态学:提取特征,描述形状和识别图像中的模式。划分图像特征。Canny边缘检测,平均移动,Hough线。电影支持:读和写数字电影工作中使用的常见图像格式。图像计算器:将一个数学表达式应用于图像或图像通道。连接部件标记:唯一地标记图像中的连接区域。离散傅里叶变换:实现正向和逆向DFT。感知散列:将视觉上相同的图像映射为相同或相似的散列--在图像检索、认证、索引或复制检测以及数字水印中很有用。复杂文本布局:双向文本支持和塑造。色彩管理:用色彩配置文件进行精确的色彩管理,或代替--根据色彩空间的要求进行内置的伽玛压缩或扩展。双边模糊:非线性的、保留边缘的、降噪的平滑过滤器。高动态范围图像:准确地表现真实场景中发现的广泛的强度水平,从最明亮的阳光直射到最深的黑暗阴影。加密或破译图像:将普通图像转换为无法理解的胡言乱语,然后再转换回来。虚拟像素支持:方便访问图像区域外的像素。大图像支持:读取、处理或写入百万、千兆或兆像素的图像尺寸。执行线程的支持。ImageMagick是线程安全的,大多数内部算法都支持OpenMP,以利用多核处理器芯片提供的速度优势。分布式像素缓存:将中间的像素存储卸载到一个或多个远程服务器。异构分布式处理:某些算法支持OpenCL,以利用在由CPU、GPU和其他处理器组成的异构平台上协同执行的速度优势。iPhone上的ImageMagick:在你的iPhone上转换、编辑或编排图像。下载Imagemagick#aptinstallimagemagick#pipinstallwand使用transform_colorspace()函数并传递';灰色';作为一个参数。输出将是黑白草图。
>>>ny2=ny.clone()>>>ny2.transform_colorspace('gray')True>>>ny2.sketch(0.5,0.0,98.0)True>>>ny2.save(filename="wugang_sketch_gray.jpg")灰度素描
同样,我们也可以对图像应用其他特效,比如添加噪点、拍立得、漩涡、色调、波浪、阳光等。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。