imagemagick_ImageMagick入门

imagemagick

在最近有关轻量级图像查看器的文章中,作者Scott Nesbitt提到了Display,它是ImageMagick的组件之一。 ImageMagick不仅是图像查看器,它还提供了大量用于图像编辑的实用程序和选项。 本教程将说明有关在ImageMagick中使用display命令和其他命令行实用程序的更多信息。

有了许多出色的图像编辑器,您可能想知道为什么有人会选择主要基于非GUI命令行的程序,例如ImageMagick。 一方面,它是坚如磐石的可靠产品。 但是更大的好处是,它允许您设置方法以特定方式编辑大量图像。

常见ImageMagick命令的介绍应该可以帮助您入门。

显示命令

让我们从斯科特提到的命令开始: display 。 假设您的目录中包含许多要查看的图像。 使用以下命令开始显示



   
   
cd Pictures
display * .JPG

这将以字母数字顺序依次加载JPG文件,一次在一个简单的窗口中加载一次。 左键单击图像会弹出一个简单的独立菜单(您将在ImageMagick中看到的唯一GUI功能)。

display menu

显示菜单中可以找到以下内容:

  • 文件包含以下选项: 打开,下一步,以前,选择,保存,打印,删除,新建,可视目录退出选择选择要显示的特定图像文件, Visual Directory将显示当前工作目录中的所有文件(而不仅仅是图像)。 如果要滚动浏览所有选定的图像,可以使用NextFormer ,但是使用它们的键盘快捷键(下一个图像用空格键,上一个图像使用Backspace)更容易。
  • Edit提供了Undo,Redo,Cut,CopyPaste ,它们只是更特定的编辑过程的辅助命令。 当您在进行不同的编辑以查看它们的作用时, 撤消特别有用。
  • 视图具有“ 一半大小”,“原始大小”,“两倍大小”,“调整大小”,“应用”,“刷新 ”和“还原” 。 这些大多是不言自明的,除非应用了其中之一后保存图像,否则图像文件不会更改。 调整大小会弹出一个对话框,以像素为单位指定特定大小,可以选择是否包含受限制的尺寸或百分比。 我不确定Apply会做什么。
  • 变换显示裁切,剁碎,翻转,翻转,向右旋转,向左旋转,旋转,剪切,滚动修剪边缘Chop使用单击拖动操作来剪切图像的垂直或水平部分,将边缘粘贴在一起。 学习这些功能的最佳方法是与它们一起玩,而不是阅读它们。
  • 增强功能提供色相,饱和度,亮度,伽玛,扩散,暗淡,对比度拉伸,S形对比度,归一化,均衡,求反,灰度,贴图量化 。 这些是用于色彩操纵以及调整亮度和对比度的操作。
  • 效果具有去斑点,浮雕,减少噪声,添加噪声,锐化,模糊,阈值,边缘检测,扩散,阴影,升高分段 。 这些是相当标准的图像编辑效果。
  • F / X选项包括“ 晒化”,“棕褐色调”,“漩涡”,“ Implode”,“晕影”,“波浪”,“油画颜料 ”和“ 木炭绘制” ,这也是图像编辑器中非常常见的效果。
  • 图像编辑包含注释,绘制,颜色,遮罩,合成,添加边框,添加框架,注释,启动和关注区域Launch将在GIMP中打开当前图像(至少在我的Fedora中)。 感兴趣区域允许您选择一个区域以进行编辑; 按Esc键取消选择区域。
  • Miscellany提供图像信息,缩放图像,显示预览,显示直方图,显示遮罩,背景,幻灯片首选项Show Preview看起来很有趣,但是我很难使它生效。
  • 帮助显示概述,浏览文档关于显示概述提供了许多有关显示的基本信息,并包括了大量用于各种命令和操作的内置键盘等效项。 在我的Fedora中, 浏览文档使我无处可去。

尽管display的GUI界面提供了相当称职的图像编辑器,但是ImageMagick还提供了89个命令行选项,其中许多选项与上面的菜单项相对应。 例如,如果我要显示比屏幕大的数字图像目录,而不是在它们出现在屏幕上后分别调整其大小,则可以指定:


     display -resize 50 % * .JPG 

上面菜单中的许多操作也可以通过在命令行中添加选项来完成。 但是菜单中没有其他选项,包括‑monochrome (可将图像转换为黑白(非灰度))和‑colors ,您可以在其中指定要在图像中使用多少种颜色。 例如,尝试以下方法:


     display -resize 50 % -monochrome * .JPG 

     display -resize 50 % -colors 8 * .JPG 

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

转换命令

convert命令有237个选项(是237个),它们提供了您可以做的很多事情(其中一些显示也可以做)。 我将只介绍其中的一些,主要是坚持图像处理。 您可以使用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 
monochrome example

     convert DSC_0008.jpg -charcoal 1.2 charcoal_example.jpg 
charcoal example

‑monochrome选项没有关联的设置,但是‑ 变量需要关联的因子。 以我的经验,它需要很小的数量(甚至少于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 
edge and reduced colors example

原始图像在左上方。 在第一个命令中,我应用了一个设置为3的edge选项(请参见右上图),这比我所喜欢的要小。 在第二个命令(左下图)中,我们将颜色数量减少到了四种,看起来与原始颜色没有太大不同。 但是,看看在第三条命令(右下图)中将二者结合时会发生什么! 也许这有点花哨,但谁能想到原始图像或单独使用这两个选项会得到此结果?

‑canny命令提供了另一个惊喜。 这是另一种边缘检测器,称为“多阶段算法”。 单独使用“ canny”会产生大部分为黑色的图像和一些白色线条。 接下来,我使用了-negate命令:



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

这有点简约,但我认为它类似于笔墨画,与原始照片有很大的不同。 它不适用于所有图像。 通常,它最适合带有清晰线条的图像。 失去重点的元素可能会消失; 请注意,白鹭图片中的背景沙洲由于模糊而不会显示。 还要注意在船上的图片中,尽管大多数边缘显示得很好,但没有颜色,我们就失去了图片的格式感,因此也许这可能是进行某些数字着色甚至是打印后着色的基础。

蒙太奇命令

最后,我想谈谈蒙太奇命令。 我已经在上面显示了它的示例,其中将单个图像组合为合成图像。

这是我生成木炭示例的方式(请注意,它们全都在一行上):



   
   
     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管理边框大小。 接下来,我调整了整个最终合成图像的大小( 调整25%的大小 ),并添加了阴影(没有设置,因此为默认设置),最后为蒙太奇创建了标题

您可以将所有图像名称放在末尾,最后一个图像名称是保存剪辑画面的文件。 这对于为命令及其所有选项创建别名可能很有用,然后我可以简单地键入别名,然后输入适当的文件名。 我有时这样做是为了减少创建一系列蒙太奇所需的打字。

-canny例子,我曾在蒙太奇四象。 我添加了-tile选项,特别是-tile 2x ,它创建了两列的蒙太奇。 我可以指定一个Matrix-tile 2x2-tile x2来产生相同的结果。

关于ImageMagick,还有很多要学习的东西,所以我计划编写更多有关它的信息,甚至可能使用Perl编写ImageMagick命令的脚本。 尽管该网站缺少示例或显示结果,但ImageMagick拥有大量文档 ,我认为最好的学习方法是尝试并更改各种设置和选项。

翻译自: https://opensource.com/article/17/8/imagemagick

imagemagick

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值