|
|
|
|
挪动端

ImageMagick的一些初级图片检查本领

在我先前的ImageMagick 入门:运用下令行来编辑图片 文章中,我展现了怎样运用 ImageMagick 的菜单栏停止图片的编辑和变更作风。在这篇续文里,我将向你展现运用这个开源的图像编辑器来检查图片的别的办法。

作者:Greg Pittman泉源:通博8888官网中国|2018-05-07 08:22

【新品产上线啦】51CTO播客,随时随地,碎片化学习

http://s3.51cto.com/oss/201805/07/d94c7d9269458aea15ce81af68692e25.png-wh_651x-s_1333759310.png

用这些 ImageMagick 下令行图像编辑使用的本领更好的办理你的数码照片集。

在我先前的ImageMagick 入门:运用下令行来编辑图片 文章中,我展现了怎样运用 ImageMagick 的菜单栏停止图片的编辑和变更作风。在这篇续文里,我将向你展现运用这个开源的图像编辑器来检查图片的别的办法。

别样的作风

在深化 ImageMagick 的初级图片检查本领之前,我想先分享另一个运用 convert 到达的风趣但复杂的结果,在上一篇文章中我曾经细致地引见了 convert 下令,这个本领触及这个下令的 edgenegate 选项:

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

运用edge 和 negate 选项前后的图片比照

运用edgenegate 选项前后的图片比照

这些使我更喜欢编辑后的图片:海的表面,作为远景和配景的植被,特殊是太阳及其在海上的反射,最初是天空。

运用 display 来检查一系列图片

假设你跟我一样是个下令行用户,你就晓得 shell 为庞大义务提供了更多的灵敏性和快捷办法。上面我将展现一个例子来佐证这个观念。ImageMagick 的 display 下令可以克制我在 GNOME 桌面上运用 Shotwell 图像办理器导入图片刻遇到的题目。

Shotwell 会依据每张导入图片的 Exif 数据,创立以图片被天生或许拍摄时的日期为称号的目次构造。终极的结果是最下层的目次以年定名,接着的子目次因此月定名 (01、 02、 03 等等),然后因此每月的日期定名的子目次。我喜好这种构造,由于当我想依据图片被创立或许拍摄时的日期来查找它们时将会十分方便。

但这种构造也并不黑白常完满的,当我想检查近来几个月或许近来一年的一切图片刻就会很费事。运用惯例的图片检查器,我将不绝地在差别层级的目次间跳转,但 ImageMagick 的 display 下令可以使得检查愈加复杂。比方,假设我想检查近来一年的图片,我便可以在下令行中键入上面的 display 下令:

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

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

如今假设我想检查某张图片,但我不确定我是在 2016 年的上半年照旧在 2017 的上半年拍摄的,那么我便可以运用上面的下令来找到它:

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

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

运用 montage 来检查图片的缩略图

假设如今我要查找一张我想要编辑的图片,运用 display 的一个题目是它只会表现每张图片的文件名,而不表现其在目次构造中的地位,以是想要找到那张图片并不容易。别的,假设我很偶尔地在从相机下载图片的进程中将这些图片从相机的内存外面肃清了它们,后果使得下次拍摄照片的称号又从 DSC_0001.jpg 开端定名,那么当运用 display 来展现一整年的图片刻,将会在这 12 个月的图片中破费很长的工夫来查找它们。

这时 montage 下令便可以派上用场了。它可以将一系列的图片缩略图放在一张图片中,如许就会十分有效。比方可以运用上面的下令来完成下面的义务:

  1. 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 下令前你需求处置图片张数:

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

ls 下令天生我们搜刮的文件的列表,然后经过重定向将这个列表保管在恣意以名为 filelist 的文件中。接着带有 -l 选项的 wc 下令输入该列表文件共有几多行,换句话说,展现出了需求处置的文件个数。上面是我运转下令后的输入:

  1. 163 filelist

啊呀!从一月到四月我竟然有 163 张图片,运用这些图片来创立一张分解图肯定会使得我的零碎去世机的。我需求将这个列表增加点,能够只处置到 3 月份或许更早的图片。但假如我在 4 月 20 号到 30 号时期拍摄了许多照片,我想这即是题目的地点。上面的下令便可以协助指出这个题目:

  1. 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 日的照片追加到列表中。终极它的表现后果为:

  1. 81 filelist

我晓得假设我关失其他的顺序,处置 81 张图片是可行的。

运用 montage 来处置它们是很复杂的,由于我们只需求将下面所做的处置添加到 montage 下令的前面即可:

  1. 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 便会表现整个图片。再次点击图片便可以使菜单栏隐蔽。

我盼望这篇文章可以在你运用新办法检查图片刻协助你。在我的下一篇文章中,我将讨论愈加庞大的图片操纵本领。

【编辑引荐】

  1. 怎样运用通博8888官网防火墙断绝当地诈骗地点
  2. 深度运用通博8888官网防火墙:容许我们构建Spectrum的黑客举动
  3. 怎样在通博8888官网中疾速监控多个主机
  4. 通博8888官网操纵零碎学习中必知五大误区
  5. 不止于 Android,Chrome OS 新版已可运转 通博8888官网 使用
【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
各人都在看
猜你喜好

读 书 +更多

网管第一课——网络组建与办理

本书针对低级网管冤家所需掌握的网络组建和网络办理技艺,以示例方法编写而成,其次要特点便是适用性和可操纵性十分强。 全书共分8章,分...

订阅51CTO邮刊

点击这里检查样刊

订阅51CTO邮刊