ImageMagick® 是一套免费的开源软件套件,用于编辑和处理数字图像。它可用于创建、编辑、合成或转换位图图像,并支持包括 JPEG、PNG、GIF、TIFF 和 Ultra HDR 在内的多种文件格式。
ImageMagick 被广泛应用于 Web 开发、平面设计和视频编辑等行业,同时也用于科学研究、医学影像和天文学等领域。它兼具通用性与可定制性,加之强大的图像处理能力,使其成为各类图像相关任务的热门选择。
ImageMagick 提供命令行界面来执行复杂的图像处理任务,同时也提供 API,便于将其功能集成到软件应用程序中。它使用 C 语言编写,可在 Linux、Windows 和 macOS 等多种操作系统上运行。
ImageMagick 的官方网站为 https://imagemagick.org。当前可用的最新版本是 ImageMagick 7.1.2-25。本软件的源代码可通过代码仓库获取。此外,我们还维护着 ImageMagick 的旧版,即 version 6。有关从版本 6 迁移到版本 7 的完整细节,请阅读我们的移植(porting)指南。
强烈建议在使用 ImageMagick 之前,先创建一份适合您本地具体环境的安全策略。您可以参考有关如何设置此策略的指南。同时,使用验证工具对您的策略进行验证也很重要。
功能与特性
ImageMagick 的一大关键特性是对脚本编写和自动化的支持。这使用户能够构建复杂的图像处理流水线,并自动运行,无需人工干预。对于需要处理大量图像的任务,或需要定期执行的任务,这一点尤为有用。
除了核心的图像处理能力之外,ImageMagick 还包含诸多其他功能,例如对动画、色彩管理和图像渲染的支持。这些功能使其成为适用于平面设计、科学可视化和数字艺术等各类图像相关任务的通用工具。
总的来说,ImageMagick 是一套强大而通用的软件套件,用于显示、转换和编辑图像文件。它对脚本编写和自动化的支持,以及其他各项功能,使其成为各类图像相关任务中的宝贵工具。
以下仅列举几个 ImageMagick 能为您做什么的示例:
| 动画 | 从一组图像创建 GIF 动画序列。 |
|---|---|
| 双边模糊 | 非线性、保边且降噪的平滑滤波器。 |
| 色彩管理 | 通过色彩配置文件实现精确的色彩管理;在缺少配置文件时,按色彩空间的要求使用内置的伽马压缩或扩展。 |
| 色彩阈值处理 | 将指定色彩范围内的所有像素强制设为白色,其余设为黑色。 |
| 命令行处理 | 从命令行使用 ImageMagick。 |
| 复杂文本布局 | 双向文本支持与文本整形。 |
| 合成(Composite) | 将一张图像叠加到另一张图像之上。 |
| 连通分量标记 | 为图像中的连通区域赋予唯一标记。 |
| 凸包(Convex hull) | 包含图像前景对象的最小面积凸多边形。同时还会生成最小外接矩形和反旋转角度。 |
| 装饰(Decorate) | 为图像添加边框或边框装饰。 |
| 勾勒图像特征 | Canny 边缘检测、霍夫直线。 |
| 离散傅里叶变换 | 实现正向和逆向 DFT。 |
| 分布式像素缓存 | 将中间像素存储卸载到一台或多台远程服务器上。 |
| 绘制(Draw) | 为图像添加形状或文本。 |
| 加密或解密图像 | 将普通图像转换为无法识别的乱码,并可再次还原。 |
| 格式转换 | 将图像从一种格式转换为另一种格式(例如 PNG 转 JPEG)。 |
| 广义像素畸变 | 校正或施加图像畸变,包括透视畸变。 |
| 异构分布式处理 | 某些算法支持 OpenCL,可利用在由 CPU、GPU 及其他处理器组成的异构平台上协同执行所带来的加速。 |
| 高动态范围图像 | 准确表现真实场景中从最明亮的直射阳光到最深邃黑暗的阴影这一宽广的亮度范围。 |
| 直方图均衡化 | 使用自适应直方图均衡化来改善图像的对比度。 |
| 图像缓存 | 在本地文件夹中安全缓存图像、图像序列、视频、音频或元数据的方法与工具。 |
| 图像计算器 | 对图像、图像序列或图像通道应用数学表达式。 |
| 图像渐变 | 创建两种颜色的平滑混合,其形状可为水平、垂直、圆形或椭圆形。 |
| 图像识别 | 描述图像的格式和属性。 |
| iPhone 上的 ImageMagick | 在 iPhone 或 iPad 等 iOS 设备上转换、编辑或合成图像。 |
| 大图像支持 | 读取、处理或写入兆像素、吉像素或太像素级别的图像尺寸。 |
| 拼贴(Montage) | 在图像画布上并排排列图像缩略图。 |
| 形状形态学 | 提取特征、描述形状并识别图像中的图案。 |
| 电影制作支持 | 读取和写入数字电影制作中使用的常见图像格式。 |
| 多光谱影像 | 支持最多 32 个波段的多光谱影像,其中 22 个为元通道。 |
| 噪声与色彩缩减 | Kuwahara 滤波器、均值漂移。 |
| 感知哈希 | 将视觉上完全相同的图像映射到相同或相近的哈希值——可用于图像检索、认证、索引、副本检测以及数字水印。 |
| 特殊效果 | 对图像进行模糊、锐化、阈值处理或着色。 |
| 文本与注释 | 在图像中插入说明性或艺术性的文本。 |
| 执行线程支持 | ImageMagick 是线程安全的,且大多数内部算法以并行方式执行,以利用多核处理器芯片带来的加速。 |
| 变换(Transform) | 对图像进行调整尺寸、旋转、纠偏、裁剪、翻转或修剪。 |
| 透明度(Transparency) | 使图像的某些部分变为不可见。 |
| 虚拟像素支持 | 方便地访问图像边界之外的像素。 |
ImageMagick 使用示例演示了如何从命令行使用本软件来实现各种效果。此外,Fred's ImageMagick Scripts 和 Snibgo's ImageMagick Scripts 网站上也提供了若干脚本,可用于应用几何变换、模糊和锐化图像、去除噪声以及执行其他操作。另外,还有一个名为 Magick.NET 的工具,它让用户无需在自己的系统上安装软件即可使用 ImageMagick 的功能。最后,该网站还包含一份 Cookbook,提供在 Windows 系统上使用 ImageMagick 的技巧与示例。
社区
参与讨论服务,加入 ImageMagick 社区。在这里,您可以找到其他 ImageMagick 用户提出的问题的答案,也可以提出自己的问题。如果您有技术问题、改进建议或缺陷修复,也可以创建一个 Issue 来获得社区的帮助。