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

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

别样的风格

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

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

使用edge 和 negate 选项前后的图片对比

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

使用 display 来查看一系列图片

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

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

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

display-resize35%2017/*/*/*.JPG

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

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

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

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

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

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

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

montage-label%d/%f-title2017-tile5x-resize10%-geometry+4+42017/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 命令前你需要处理图片张数:

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

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

163filelist

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

ls2017/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 日的照片追加到列表中。最终它的显示结果为:

81filelist

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

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

montage-label%d/%f-title2017-tile5x-resize10%-geometry+4+42017/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 便会显示整个图片。再次点击图片便可以使菜单栏隐藏。

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

linux查看图片的拍摄时间,ImageMagick 的一些高级图片查看技巧 | Linux 中国相关推荐

  1. linux查看image类型,ImageMagick 的一些高级图片查看技巧

    用这些 ImageMagick 命令行图像编辑应用的技巧更好的管理你的数码照片集. 在我先前的ImageMagick 入门:使用命令行来编辑图片 文章中,我展示了如何使用 ImageMagick 的菜 ...

  2. linux命令行处理图片基础,linux下命令行图片处理工具ImageMagick

    linux下命令行图片处理工具ImageMagick (2012-05-25 21:21:40) 标签: linux imagemagick 命令行图片处理 it ImageMagick的主要命令如下 ...

  3. Linux下命令行压缩照片或图片的脚本 (ImageMagick使用心得,convert,import,display实例)

    from: Linux下命令行压缩照片或图片的脚本 (ImageMagick使用心得,convert,import,display实例) 在认识ImageMagick之前,我使用的图像浏览软件是Kui ...

  4. Linux下命令行压缩照片或图片的脚本 (ImageMagick使用心得,convert,import,display实例)...

    在认识ImageMagick之前,我使用的图像浏览软件是KuickShow,截图软件是KSnapShot,这两款软件都是KDE附带的软件,用起来也是蛮方便的.在一次偶然的机会中,我遇到了ImageMa ...

  5. Linux 图片批量压缩工具 ImageMagick

    最近做了一个游戏展示的界面,80多个游戏和它们的url,图标,上传服务器以后发现图标都较大,在客户端可以使用很多在线免费的压缩工具(美图秀秀),但是服务器一条命令就可以解决的问题,没必要去手动添加图片 ...

  6. linux图像处理工具,linux下图片处理工具ImageMagick使用方法

    图片在网站所占的比重越来越重.更好的优化图片可以提高网站速度.减少宽带流量. ImageMagick 是一个用来创建.编辑.合成图片的软件.它可以读取.转换.写入多种格式的图片.图片切割.颜色替换.各 ...

  7. linux下图片裁剪工具,linux下图片处理工具ImageMagick使用方法

    图片在网站所占的比重越来越重.更好的优化图片可以提高网站速度.减少宽带流量. ImageMagick 是一个用来创建.编辑.合成图片的软件.它可以读取.转换.写入多种格式的图片.图片切割.颜色替换.各 ...

  8. linux怎么查看系统环境变量路径,Linux系统中的环境变量该如何设置与查看

    今天小编要跟大家分享的文章是关于Linux系统中的环境变量该如何设置与查看.大家都知道,在 Linux 系统中,有环境变量和 Shell 变量这两种变量. 环境变量是在程序及其子程序中全局可用的,常常 ...

  9. 工具使用:ImageTools图片处理 (ImageMagick)

    需要注意的是:在mac和linux上不要添加imageMagickPath 和设置 convert.setSearchPath(imageMagickPath); public class Image ...

最新文章

  1. ORBBuf : 一种鲁棒的视觉SLAM缓冲方法
  2. java学习笔记-4.7
  3. Chapter 7. 对话框控件
  4. Android Adobe Reader 任意代码执行分析(附POC)
  5. 025 使用@Profile完成环境条件注入
  6. CodeForces - 566A Matching Names(字典树上贪心)
  7. 安卓.点击头像--编辑个人姓名--提交后.同时调用js关闭页面--返回上一层
  8. fan4801开关电源原理图_开关电源原理图各元件功能详解
  9. 玩玩Xamarin Evolve 2016带来的新特性(三)-Xamarin Workbooks
  10. java实现自动任务_Java实现定时任务的三种方法
  11. openglshader实现虚拟场景_虚拟演播室设计原则
  12. 微信小程序预览pdf功能实现
  13. 全国计算机一级考试网络知识,全国计算机等级考试一级网络基础知识复习题及答案.doc...
  14. [转载] Python程序将十进制转换为二进制,八进制和十六进制
  15. 华中科技大计算机第八次基础作业,华中科技大计算机基础第三次作业.doc
  16. 举个栗子!Tableau技巧(96):离线激活和停用 Linux 版 Tableau Server
  17. 明尼苏达大学 计算机学院 教授,美国明尼苏达大学David Du教授学术报告
  18. 介绍一种冷门但简单的双拼方案——紫光双拼
  19. 微生物群落结构差异分析
  20. java+vue实现onlyoffice协同办公

热门文章

  1. 图解 Laravel 请求的完整生命周期
  2. 搞懂静态代码分析,看这文就够了!
  3. 轻松搞定 Django 模板语言进阶!
  4. Mac 被曝存在恶意漏洞:黑客可随意调动摄像头,波及四百万用户!
  5. 百度近五年最年轻高管团队出炉,能否“翻盘”成功?
  6. 马云:腾讯是阿里的成长伴侣;华为 2 万 CNBG 员工“投奔”余承东;18 岁学生索赔苹果 10 亿美元 | 极客头条...
  7. 微信再次“杠上”支付宝!|畅言
  8. 微软自证开源决心:GitHub 私有库免费无限开放!
  9. @程序员,你还在加班写 Bug 吗?
  10. 我已经弃用头条了,难道还要抛弃微信?