标签 ImageMagick 下的文章

你可以随时在你的系统上 安装 ImageMagick 来转换图像,但并不是每个人都喜欢使用终端来转换和操作图像。

那么,如果你有一个 GUI 应用作为前端来帮助解决这个问题呢? Converter 就是这样的工具。

它是 ImageMagick 的前端。所以你不需要使用命令来转换和操作图像。

请注意,大多数 Ubuntu 系统通常都预装了 ImageMagick。如果你的系统上还没有安装,你可以随时参考我们的 安装指南

Converter:ImageMagick 的图形前端

converter gui

转换图像不应该花费很多精力。这是一项简单的任务,而且应该如此。

我不想键入命令来快速转换图像。因此,我更喜欢使我能够更快地做事的图形工具。

Converter 是一个开源图形前端,可以让你做到这点。它是一个 GTK4 + libadwaita 应用。

你可以将图像转换为各种文件格式,包括 png、webp、jpeg、heif、heic 和 bmp。可以肯定地说,你获得了对最流行的图像文件格式的支持。所以,它应该会派上用场。

file format converter

你可以设置一个位置来保存所有文件,转换后的图像将自动存储在该位置。

customize converter

你还可以调整图像的质量、大小和背景颜色。要访问这些选项,请在转换图像之前单击用户界面中的“ 更多选项 More Options ”。

converter more options

可以使用百分比、精确像素或比率自定义图像大小。对于精确操作,更改尺寸可能更有用。如果你希望图像缩放到一定程度,百分比或比例功能应该可以帮助你做到这一点。你还可以选择为图像添加滤镜。

总体而言,你可以获得使用 Converter 调整大小、转换和优化图像质量的基本功能。

你还可以 调整 Nautilus 以获得 右键单击上下文菜单中的调整大小选项。但它不像这个工具那样通用。

在 Linux 上安装 Converter

Converter 在 Flathub 上以 Flatpak 的形式提供,可以安装在你选择的任何 Linux 发行版上。

遗憾的是,你无法在 Linux 系统上安装任何二进制包。因此,你可能需要参考我们的 Flatpak 指南 来安装它。

flatpak install flathub io.gitlab.adhami3310.Converter

你可以在其 GitLab 页面 上探索更多相关信息。

你对我们接下来要重点介绍的此类有趣工具有什么建议吗? 让我们在评论中知道。


via: https://itsfoss.com/converter-tool/

作者:Ankush Das 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

使用这个开源工具,即使是批量校正图像也很容易。

多年前,在翻阅一家旧书店的书架上的内容时,我偶然发现了一本名为 《UNIX System Command Summary for Berkeley 4.2 & 4.3 BSD》 的小册子,由 Specialized Systems Consultants 出版。我买它是出于好奇,因为它已经有将近 20 年的历史了,但仍然在很大程度上适用于现代 Linux 和 BSD。

无论是当时还是现在,我都很开心。一本写于 1986 年的小册子在 2016 年仍然很重要,而同一个书架上关于专有操作系统的书籍并不值得印刷它们的纸张。(想一想:你认为什么技术可以在僵尸末日中幸存下来?)这本小册子已经放在我自己的书架上好几年了,但我突然想到可能值得对这个作品做一点数字保存,所以我决定扫描这本小册子来创建一本 CBZ 电子书

使用 Skanlite 进行扫描很容易,但很耗时。然而,当我完成后,我发现有些页面不是很平整。

A page of text, including a table of contents and a glossary, that is crooked and distorted

在打印中,这称为配准问题,这意味着打印内容的位置在页面上的方向不正确。

ImageMagick

ImageMagick 是基于终端的非交互式图形编辑器。尝试在无图形环境(如纯文本终端)中编辑图形似乎违反直觉,但实际上很常见。例如,当你将图像上传到 Web 应用用作个人资料图片时,应用服务器上的脚本可能会使用 ImageMagick 或其库处理你的图像。非交互式编辑器的优点是你可以制定需要对示例图像执行的操作,然后只需按一下按钮即可将这些效果应用于数百个其他图像。

ImageMagick 通常与其他图形编辑器一样强大,只要你花时间了解它的许多功能以及如何组合它们以实现所需的效果。在这种情况下,我想旋转歪斜的页面。在搜索了 ImageMagick 的文档后,我发现我需要的解决方案的 ImageMagick 术语称为纠偏。将你的术语与其他人的术语保持一致对于你不知道的任何事情都是一个挑战,因此当你使用 ImageMagick(或其他任何东西)时,请记住,你描述问题或解决方案的用词可能和别人不一样。

要使用 ImageMagick 对带有弯曲文本的图像进行校正:

$ convert page_0052.webp -deskew25% fix_0052.webp

-deskew 选项表示可接受偏差的阈值。通过跟踪看似字母的对象的峰谷来确定倾斜。根据扫描的弯曲程度,你可能需要多于或少于 25% 的阈值。我已经达到了 80%,到目前为止,低于 25% 没用效果。

结果如下:

The same page of text, now with the text properly aligned

修复了!将其应用于文档的剩余 55 页以修复倾斜的页面,而对已经笔直的页面不做任何事情。换句话说,由于我的阈值设置,在不需要调整的页面上运行此命令是安全的。

使用 ImageMagick 裁剪图像

在纠正了歪斜之后,因为我扫描每一页都比必要的范围要多,以防止意外切断单词,我认为裁剪我纠正的页面是有意义的。我很高兴在页边空白处保留一些空间,但没有以前那么多。我经常使用 ImageMagick 的“裁剪”功能来处理这个网站上的图像,所以我很熟悉这个选项。但是,我需要确定如何裁剪每一页。

首先,我需要图像的大小:

$ identify fixed_0052.webp
WEBP 1128x2593 1128x2593+0+08-bit sRGB 114732B 0.020u 0:00.021

知道尺寸后,我能够对我可以承受的丢失多少像素做出一些估计。经过几次试运行,我得到了这个:

convert fix_0052.webp -gravity Center -crop 950x2450+0+0 crop_0052.webp

这并不完全适合,但当我将它应用于册子中的其他图像时,它被证明很重要。这些页面的内容和扫描仪位置各不相同,所以我很高兴给每一页一点空余空间。

这是校正和裁剪的图像:

The same page of text, with the previous fixes applied and crooked white margins around the page cropped out.

使用开源批量编辑图像

ImageMagick 的美妙之处在于,当你确定了修复图像的公式,你就可以将该修复应用于需要相同修复的所有图像。我使用 GNU Parallel 执行此操作,它使用我所有的 CPU 内核来完成数百页的图像校正。这并不需要很长时间,而且结果不言而喻。更重要的是,我已经有了一个 UNIX 历史上有趣作品的数字档案。


via: https://opensource.com/article/22/11/fixing-scanned-images-imagemagick

作者:Seth Kenlon 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

这里有一些我最喜欢的 ImageMagick 技巧,以及如何在没有 GUI 的情况下使用它们。

Linux 对摄影师和图形艺术家很有用。它提供了许多工具来编辑包括照片在内的不同类型的图像文件和格式。这表明你甚至不需要一个图形界面来处理你的照片。这里有四种你可以在命令行中编辑图像的方法。

给你的图片应用效果

几年前,Seth Kenlon 写过一篇文章,4 个有趣的(半无用的)Linux 玩具,其中包括对 ImageMagick 编辑工具套件的介绍。在 2021 年的今天,ImageMagick 甚至更有意义。

这篇文章让我们了解了 Fred 的 ImageMagick 脚本,这些脚本真的很有用。Fred Weinhaus 维护着 200 多个脚本,用于对你的图像文件应用各种效果。Seth 向我们展示了 Fred 的 vintage3 脚本的一个例子,该脚本使图像变得怀旧。

创建照片拼贴画

今年,Jim Hall 用他的文章 从 Linux 命令行创建照片拼贴 向我们展示了如何从照片中创建拼贴画。

拼贴画在小册子和手册中使用得很多。它们是一种在一张照片中展示几张图片的有趣方式。可以应用效果来将它们进一步融合在一起。事实上,我以他的文章为指导,创造了上面的图片拼贴。这是我小时候的样子。以下是我使用的命令:

$ montage Screenshot-20211021114012.png \
  Screenshot-20211021114220.png \
  Screenshot-20211021114257.png \
  Screenshot-20211021114530.png \
  Screenshot-20211021114639.png \
  Screenshot-20211021120156.png \
  -tile 3x2 -background black \
  screenshot-montage.png

调整图像大小

Jim 发表了另一篇文章,从 Linux 终端调整图像的大小。这个教程演示了如何使用 ImageMagick 改变一个图像文件的尺寸并将其保存为一个新的文件。例如,上面的 montage 命令所产生的拼贴画没有达到要求的尺寸。学习如何调整尺寸,使我能够调整宽度和高度,从而使它能够被包括在内。这是我用来调整这张图片大小的命令。

 title=

$ convert screenshot-montage.png -resize 520x292\! alanfd-kid-montage.png

自动化图像处理

最近,我决定自己看一下 ImageMagick 套件。这一次,我把它的工具组合成一个 Bash 脚本。文章的题目是 用这个 bash 脚本自动处理图像。这个例子是一个简单的脚本,可以自动为我的文章制作图片。它是根据 Opensource.com 上的要求定制的。如果你想使用这个脚本,我在文章中提供了一个 Git 仓库连接。它很容易修改和扩展,可以满足任何人的需要。

总结

我希望你喜欢这些文章并在你的艺术创作中使用 Linux。如果你想看看更多的 Linux 图像软件,可以看看 Fedora Design Suite Spin。它是一个完整的操作系统,包括许多不同的开源多媒体制作和发布工具,例如:

  • GIMP
  • Inkscape
  • Blender
  • Darktable
  • Krita
  • Scribus
  • 等等

via: https://opensource.com/article/21/11/edit-photos-linux-command-line

作者:Alan Formy-Duval 选题:lujun9972 译者:geekpi 校对:校对者ID

本文由 LCTT 原创编译,Linux中国 荣誉推出

用 ImageMagick 的转换命令从你的终端缩放一张图像。

 title=

ImageMagick 是一个方便的多用途命令行工具,它能满足你所有的图像需求。ImageMagick 支持各种图像类型,包括 JPG 照片和 PNG 图形。

调整图像大小

我经常在我的 Web 服务器上使用 ImageMagick 来调整图像大小。例如,假设我想在我的个人网站上发一张我的猫的照片。我手机里的照片非常大,大约 4000x3000 像素,有 3.3MB。这对一个网页来说太大了。我使用 ImageMagick 转换工具来改变照片的大小,这样我就可以把它放在我的网页上。ImageMagick 是一套完整的工具,其中最常用的是 convert 命令。

ImageMagick 的 convert 命令使用这样的一般语法:

convert {input} {actions} {output}

要将一张名为 PXL_20210413_015045733.jpg 的照片调整到一个更容易管理的 500 像素宽度,请输入:

$ convert PXL_20210413_015045733.jpg -resize 500x sleeping-cats.jpg

现在新图片的大小只有 65KB。

 title=

你可以用 -resize 选项同时提供宽度和高度尺寸。但是,如果只提供宽度,ImageMagic 就会为你做计算,并通过调整输出图像的高度比例来自动保留长宽比。

在 Linux 上安装 ImageMagick

在 Linux 上,你可以使用你的包管理器安装 ImageMagick。例如,在 Fedora 或类似系统上:

$ sudo dnf install imagemagick

在 Debian 和类似系统上:

$ sudo apt install imagemagick

在 macOS 上,使用 MacPortsHomebrew

在 Windows 上,使用 Chocolatey 即可。


via: https://opensource.com/article/21/9/resize-image-linux

作者:Jim Hall 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

用这些 ImageMagick 命令行图像编辑应用的技巧更好的管理你的数码照片集。

在我先前的ImageMagick 入门:使用命令行来编辑图片 文章中,我展示了如何使用 ImageMagick 的菜单栏进行图片的编辑和变换风格。在这篇续文里,我将向你展示使用这个开源的图像编辑器来查看图片的另外方法。

别样的风格

在深入 ImageMagick 的高级图片查看技巧之前,我想先分享另一个使用 convert 达到的有趣但简单的效果,在上一篇文章中我已经详细地介绍了 convert 命令,这个技巧涉及这个命令的 edgenegate 选项:

convert DSC_0027.JPG -edge 3 -negate edge3+negate.jpg

 title=

使用edgenegate 选项前后的图片对比

这些使我更喜爱编辑后的图片:海的外观,作为前景和背景的植被,特别是太阳及其在海上的反射,最后是天空。

使用 display 来查看一系列图片

假如你跟我一样是个命令行用户,你就知道 shell 为复杂任务提供了更多的灵活性和快捷方法。下面我将展示一个例子来佐证这个观点。ImageMagick 的 display 命令可以克服我在 GNOME 桌面上使用 Shotwell 图像管理器导入图片时遇到的问题。

Shotwell 会根据每张导入图片的 Exif 数据,创建以图片被生成或者拍摄时的日期为名称的目录结构。最终的效果是最上层的目录以年命名,接着的子目录是以月命名 (01、 02、 03 等等),然后是以每月的日期命名的子目录。我喜欢这种结构,因为当我想根据图片被创建或者拍摄时的日期来查找它们时将会非常方便。

但这种结构也并不是非常完美的,当我想查看最近几个月或者最近一年的所有图片时就会很麻烦。使用常规的图片查看器,我将不停地在不同层级的目录间跳转,但 ImageMagick 的 display 命令可以使得查看更加简单。例如,假如我想查看最近一年的图片,我便可以在命令行中键入下面的 display 命令:

display -resize 35% 2017/*/*/*.JPG

我可以一个月又一个月,一天又一天地遍历这一年。

现在假如我想查看某张图片,但我不确定我是在 2016 年的上半年还是在 2017 的上半年拍摄的,那么我便可以使用下面的命令来找到它:

display -resize 35% 201[6-7]/0[1-6]/*/*.JPG

这限制查看的图片拍摄于 2016 和 2017 年的一月到六月

使用 montage 来查看图片的缩略图

假如现在我要查找一张我想要编辑的图片,使用 display 的一个问题是它只会显示每张图片的文件名,而不显示其在目录结构中的位置,所以想要找到那张图片并不容易。另外,假如我很偶然地在从相机下载图片的过程中将这些图片从相机的内存里面清除了它们,结果使得下次拍摄照片的名称又从 DSC_0001.jpg 开始命名,那么当使用 display 来展示一整年的图片时,将会在这 12 个月的图片中花费很长的时间来查找它们。

这时 montage 命令便可以派上用场了。它可以将一系列的图片缩略图放在一张图片中,这样就会非常有用。例如可以使用下面的命令来完成上面的任务:

montage -label %d/%f -title 2017 -tile 5x -resize 10% -geometry +4+4 2017/0[1-4]/*/*.JPG 2017JanApr.jpg

从左到右,这个命令以标签开头,标签的形式是包含文件名(%f)和以 / 分割的目录(%d)结构,接着这个命令以目录的名称(2017)来作为标题,然后将图片排成 5 列,每个图片缩放为 10% (这个参数可以很好地匹配我的屏幕)。geometry 的设定将在每张图片的四周留白,最后指定那些图片要包括到这张合成图片中,以及一个合适的文件名称(2017JanApr.jpg)。现在图片 2017JanApr.jpg 便可以成为一个索引,使得我可以不时地使用它来查看这个时期的所有图片。

注意内存消耗

你可能会好奇为什么我在上面的合成图中只特别指定了为期 4 个月(从一月到四月)的图片。因为 montage 将会消耗大量内存,所以你需要多加注意。我的相机产生的图片每张大约有 2.5MB,我发现我的系统可以很轻松地处理 60 张图片。但一旦图片增加到 80 张,如果此时还有另外的程序(例如 Firefox 、Thunderbird)在后台工作,那么我的电脑将会死机,这似乎和内存使用相关,montage可能会占用可用 RAM 的 80% 乃至更多(你可以在此期间运行 top 命令来查看内存占用)。假如我关掉其他的程序,我便可以在我的系统死机前处理 80 张图片。

下面的命令可以让你知晓在你运行 montage 命令前你需要处理图片张数:

ls 2017/0[1-4/*/*.JPG > filelist; wc -l filelist

ls 命令生成我们搜索的文件的列表,然后通过重定向将这个列表保存在任意以名为 filelist 的文件中。接着带有 -l 选项的 wc 命令输出该列表文件共有多少行,换句话说,展示出了需要处理的文件个数。下面是我运行命令后的输出:

163 filelist

啊呀!从一月到四月我居然有 163 张图片,使用这些图片来创建一张合成图一定会使得我的系统死机的。我需要将这个列表减少点,可能只处理到 3 月份或者更早的图片。但如果我在 4 月 20 号到 30 号期间拍摄了很多照片,我想这便是问题的所在。下面的命令便可以帮助指出这个问题:

ls 2017/0[1-3]/*/*.JPG > filelist; ls 2017/04/0[1-9]/*.JPG >> filelist; ls 2017/04/1[0-9]/*.JPG >> filelist; wc -l filelist

上面一行中共有 4 个命令,它们以分号分隔。第一个命令特别指定从一月到三月期间拍摄的照片;第二个命令使用 >> 将拍摄于 4 月 1 日至 9 日的照片追加到这个列表文件中;第三个命令将拍摄于 4 月 10 日到 19 日的照片追加到列表中。最终它的显示结果为:

81 filelist

我知道假如我关掉其他的程序,处理 81 张图片是可行的。

使用 montage 来处理它们是很简单的,因为我们只需要将上面所做的处理添加到 montage 命令的后面即可:

montage -label %d/%f -title 2017 -tile 5x -resize 10% -geometry +4+4 2017/0[1-3]/*/*.JPG 2017/04/0[1-9]/*.JPG 2017/04/1[0-9]/*.JPG 2017Jan01Apr19.jpg

从左到右,montage 命令后面最后的那个文件名将会作为输出,在它之前的都是输入。这个命令将花费大约 3 分钟来运行,并生成一张大小约为 2.5MB 的图片,但我的系统只是有一点反应迟钝而已。

展示合成图片

当你第一次使用 display 查看一张巨大的合成图片时,你将看到合成图的宽度很合适,但图片的高度被压缩了,以便和屏幕相适应。不要慌,只需要左击图片,然后选择 View > Original Size 便会显示整个图片。再次点击图片便可以使菜单栏隐藏。

我希望这篇文章可以在你使用新方法查看图片时帮助你。在我的下一篇文章中,我将讨论更加复杂的图片操作技巧。

作者简介

Greg Pittman - Greg 肯塔基州路易斯维尔的一名退休的神经科医生,对计算机和程序设计有着长期的兴趣,最早可以追溯到 1960 年代的 Fortran IV 。当 Linux 和开源软件相继出现时,他开始学习更多的相关知识,并分享自己的心得。他是 Scribus 团队的成员。


via: https://opensource.com/article/17/9/imagemagick-viewing-images

作者:Greg Pittman 译者:FSSlc 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

了解使用此轻量级图像编辑器查看和修改图像的常见方法。

 title=

在最近一篇关于轻量级图像查看器的文章中,作者 Scott Nesbitt 提到了 display,它是 ImageMagick 中的一个组件。ImageMagick 不仅仅是一个图像查看器,它还提供了大量的图像编辑工具和选项。本教程将详细介绍如何在 ImageMagick 中使用 display 命令和其他命令行工具。

现在有许多优秀的图像编辑器可用,你可能会想知道为什么有人会选择一个非 GUI 的、基于命令行的程序,如 ImageMagick。一方面,它非常可靠。但更大的好处是,它允许你建立一个以特定的方式编辑大量图像的方式。

这篇对于常见的 ImageMagick 命令的介绍应该让你入门。

display 命令

让我们从 Scott 提到的命令开始:display。假设你有一个目录,其中有很多想要查看的图像。使用以下命令开始 display

cd Pictures
display *.JPG

这将按照字母数字顺序顺序加载你的 JPG 文件,每张放在一个简单的窗口中。左键单击图像可以打开一个简单的独立菜单(ImageMagick 中唯一的 GUI 功能)。

 title=

你可以在 display 菜单中找到以下内容:

  • File 包含选项 Open、Next、Former、Select、Save、Print、Delete、New、Visual Directory 和 Quit。 Select 来选择要显示的特定文件,Visual Directory 显示当前工作目录中的所有文件(而不仅仅是图像)。如果要滚动显示所有选定的图像,你可以使用 NextFormer,但使用键盘快捷键(下一张图像用空格键,上一张图像用退格)更容易。
  • Edit 提供 Undo、Redo、Cut、Copy 和 Paste,它们只是辅助命令进行更具体的编辑过程。 当你进行不同的编辑功能看看它们做什么时 Undo 特别有用。
  • View 有 Half Size、Original Size、Double Size、Resize、Apply、Refresh 和 Restore。这些大多是不用说明的,除非你在应用其中之一后保存图像,否则图像文件不会更改。Resize 会打开一个对话框,以像素为单位,带有或者不带尺寸限制,或者是百分比指定图片大小。我不知道 Apply 会做什么。
  • Transform 显示 Crop、Chop、Flop、Flip、Rotate Right、Rotate Left、Rotate、Shear、Roll 和 Trim Edges。Chop 使用点击拖动操作剪切图像的垂直或水平部分,将边缘粘贴在一起。了解这些功能如何工作的最佳方法是操作它们,而不是看看。
  • Enhance 提供 Hue、Saturation、Brightness、Gamma、Spiff、Dull、Contrast Stretch、Sigmoidal Contrast、Normalize、Equalize、Negate、Grayscale、Map 和 Quantize。这些是用于颜色和调整亮度和对比度的操作。
  • 效果 有 Despeckle、Emboss、Reduce Noise、Add Noise、Sharpen、Blur、Threshold、Edge Detect、Spread、Shade、Raise 和 Segment。这些是相当标准的图像编辑效果。
  • F/X 选项有 Solarize、Sepia Tone、Swirl、Implode、Vignette、Wave、Oil Paint 和 Charcoal Draw,在图像编辑器中也是非常常见的效果。
  • Image Edit 包含 Annotate、Draw、Color、Matte、Composite、Add Border、Add Frame、Comment、Launch 和 Region of Interest。Launch \_ 将打开 GIMP 中的当前图像(至少在我的 Fedora 中是这样)。 \_Region of Interest 允许你选择一个区域来应用编辑。按下 Esc 取消选择该区域。
  • Miscellany 提供 Image Info、Zoom Image、Show Preview、Show Histogram、Show Matte、Background、Slide Show 和 Preferences。 Show Preview 似乎很有趣,但我努力让它工作。
  • Help 有 Overview、Browse Documentation 和 About Display。 Overview 提供了大量关于 display 的基本信息,并且包含大量内置的键盘快捷键,用于各种命令和操作。在我的 Fedora 中,Browse Documentation 没有作用。

虽然 display 的 GUI 界面提供了一个称职的图像编辑器,但 ImageMagick 还提供了 89 个命令行选项,其中许多与上述菜单项相对应。例如,如果我显示的数码相片目录中的图像大于我的屏幕尺寸,我不用在显示后单独调整大小,我可以指定:

display -resize 50% *.JPG

上面菜单中的许多操作都可以通过在命令行中添加一个选项来完成。但是还有其他的选项在菜单中没有,包括 -monochrome,将图像转换为黑白(不是灰度),还有 -colors,你可以指定在图像中使用多少种颜色。例如,尝试这些:

display -resize 50% -monochrome *.JPG
display -resize 50% -colors 8 *.JPG

这些操作会创建有趣的图像。试试增强颜色或进行其他编辑后减少颜色。记住,除非你保存并覆盖它们,否则原始文件保持不变。

convert 命令

convert 命令有 237 个选项 - 是的, 237 个! - 它提供了你可以做的各种各样的事情(其中一些 display 也可以做)。我只会覆盖其中的几个,主要是图像操作。你可以用 convert 做的两件简单的事情是:

convert DSC_0001.JPG dsc0001.png
convert *.bmp *.png

第一个命令将单个文件(DSC\_0001)从 JPG 转换为 PNG 格式,而不更改原始文件。第二个将对目录中的所有 BMP 图像执行此操作。

如果要查看 ImageMagick 可以使用的格式,请输入:

identify -list format

我们来看几个用 convert 命令来处理图像的有趣方法。以下是此命令的一般格式:

convert inputfilename [options] outputfilename

你有多个选项,它们按照从左到右排列的顺序完成。

以下是几个简单的选项:

convert monochrome_source.jpg -monochrome monochrome_example.jpg

 title=

convert DSC_0008.jpg -charcoal 1.2 charcoal_example.jpg

 title=

-monochrome 选项没有关联的设置,但 -charcoal 变量需要一个相关因子。根据我的经验,它需要一个小的数字(甚至小于 1)来实现类似于炭笔绘画的东西,否则你会得到很大的黑色斑点。即使如此,图像中的尖锐边缘也是非常明显的,与炭笔绘画不同。

现在来看看这些:

convert DSC_0032.JPG -edge 3 edge_demo.jpg
convert DSC_0032.JPG -colors 4 reduced4_demo.jpg
convert DSC_0032.JPG -colors 4 -edge 3 reduced+edge_demo.jpg

 title=

原始图像位于左上方。在第一个命令中,我使用了一个 -edge 选项,设置为 3(见右上角的图像) - 对于我的喜好而言小于它的数字都太精细了。在第二个命令(左下角的图像)中,我们将颜色的数量减少到了 4 个,与原来没有什么不同。但是看看当我们在第三个命令中组合这两个时,会发生什么(右下角的图像)!也许这有点大胆,但谁能预期到从原始图像或任何一个选项变成这个结果?

-canny 选项提供了另外一个惊喜。这是另一种边缘检测器,称为“多阶算法”。单独使用 -canny 可以产生基本黑色的图像和一些白线。我后面跟着一个 -negate 选项:

convert DSC_0049.jpg -canny 0x1 -negate canny_egret.jpg
convert DSC_0023.jpg -canny 0x1 -negate canny_ship.jpg

 title=

这有点极简主义,但我认为它类似于一种笔墨绘画,与原始照片有相当显著的差异。它并不能用于所有图片。一般来说,它对有锐利线条的图像效果最好。不是焦点的元素可能会消失。注意白鹭图片中的背景沙滩没有显示,因为它是模糊的。同样注意下船舶图片,虽然大多数边缘显示得非常好,因为没有颜色,我们失去了图片的整体形象,所以也许这可以作为一些数字着色,甚至在印后着色的基础。

montage 命令

最后,我想谈一下 montage (蒙太奇)命令。我已经在上面展示了这个例子,我将单个图像组合成复合图片。

这是我如何生成炭笔的例子(请注意,它们都在一行):

montage -label %f DSC_0008.jpg charcoal_example.jpg -geometry +10+10
      -resize 25% -shadow -title 'charcoal demo' charcoal_demo.jpg

-label 选项会在每个图像下方标记它的文件名(%f)。不用 -geometry 选项,所有的图像将是缩略图大小(120 像素宽),+10+10 负责边框大小。接下来,我调整了整个最终组合的大小(-resize 25%),并添加了一个阴影(没有设置,因此是默认值),最后为这次 montage 操作创建了一个标题(-title)。

你可以将所有图像名称放在最后,最后一个图像的名称将是 montage 操作所保存的文件名。这可用于为命令及其所有选项创建别名,然后我可以简单地键入该别名、输入适当的文件名即可。我偶尔会这么做来减少 montage 操作需要输入的命令长度。

-canny 的例子中,我对 4 张图像进行了蒙太奇操作。我添加了 -tile 选项,确切地说是 -tile 2x,它创建了有两列的蒙太奇。我可以指定一个 matrix-tile 2x2-tile x2 来产生相同的结果。

ImageMagick 还有更多可以了解,所以我打算写更多关于它的文章,甚至可能使用 Perl 脚本运行 ImageMagick 命令。ImageMagick 具有丰富的文档,尽管该网站在示例或者显示结果上还不足,我认为最好的学习方式是通过实验和更改各种设置和选项来学习。

(题图: opensource.com)


作者简介:

Greg Pittman - Greg 是肯塔基州路易斯维尔的一名退休的神经科医生,对计算机和程序设计有着长期的兴趣,从 1960 年代的 Fortran IV 开始。当 Linux 和开源软件相继出现时,他开始学习更多,并最终做出贡献。他是 Scribus 团队的成员。


via: https://opensource.com/article/17/8/imagemagick

作者:Greg Pittman 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出