使用ImageMagick制作联系表(2013)

2020-08-08 12:13:04

在我上一篇关于后处理我的开源肖像的帖子中,我已经展示了几张我生成的联系表,以帮助我缩小我喜欢的图片的范围。那张联系表看起来是这样的:

通讯录是胶片时代的一个很好的遗留物,当时你想要一个胶片上所有镜头的大概览。冲洗完胶卷后,你只需在放大机下面放一张相纸,把胶片放在上面,在上面放一块玻璃板,把它们压住,然后用白光曝光一小段时间。

这些天来,这可能是多余的,因为能够将目录列表作为缩略图查看,但我仍然发现这种类型的图像有用处。

我的个人照片保存在备份服务器上。该计算机没有显示器、键盘或鼠标。我访问它的主要方式是通过我网络上的共享。如果我不在现场,我将使用SSH访问我的网络。

优点是它比使用GUI快得多。缺点是没有图形用户界面…。

不过,我要登录的机器确实链接了我的Dropbox账户。所以我要做的就是在我远程连接的机器上运行Imagemagick Monage,让它为我生成一张“联系人表”,并将其放入我的Dropbox文件夹中。

等几分钟,瞧!让我在本地机器上仔细阅读的即时联系人表。下面是我的蒙太奇命令的外观:

蒙太奇-详细-标签';%f';-font Helvetica-pointsize 10-背景';#000000&39;-填充';灰色';-定义jpeg:size=200x200-geometry200x200+2+2-自动定向P21603{65..70}.jpg~/Dropbox/Contact-Dark.jpg

是的,看起来很吓人。我向你保证,不是这样的。像往常一样,让我们按选项查看命令行选项,看看…上发生了什么。

启动蒙太奇命令。将其设置为-VERBOSE OUTPUT以查看正在发生的情况。

所有的缩略图都标上文件名,字体为Helvetica,磅值为10。看,到目前为止还不错!

将背景颜色设置为黑色(#000),将标签文本的填充颜色设置为灰色。

这个很有趣。我发现,如果尝试在完整的jpeg目录上运行该命令,很快就会耗尽内存。这是因为imagemagick将读取每个文件,并将完整大小的图像保留在内存中,直到读取完成。我的天啊!

因此,此选项告诉imagemagick在读取jpeg后立即调整其大小,并且只在内存中保留较小的版本。这大大加快了生成联系表的过程。

这只是告诉imagemagick将最终输出上的每个缩略图大小设置为200x200像素,并在它们周围加上2px的边框。

这很有趣。我不确定这是否可以在Windows上运行,但在BSD/OSX/*nix shell上可以。我可以指定希望在最终输出中出现的图像的数字范围。

如果您只想执行目录中的所有图像,则可以对所有JPG图像使用普通的GLOB语法:

我这样做是为了将输出联系表的最终大小限制为一定范围的图像。计算机的最终大小和内存限制(特别是当我的目录中有数百个图像时)。

我也可以通过使用GLOB语法来实现这一点。例如,如果我想要600-699范围内的所有图像,我可以使用:

或者它的任何变体(我不打算在这里讨论语法,但是周围有很多关于它的参考资料)。

事情就是这样。该命令为我提供了一张很好的联系人表,让我快速浏览并找到我喜欢的图片。从那里我可以缩小范围,更仔细地观察最终的选择。

我甚至可以将此命令作为shell脚本的一部分使用,该脚本可以递归地遍历我的照片的所有文件夹,并根据需要输出每个文件夹的联系表。我可能会在另一个时间谈到这一点,…