大量照片批量处理
Feb 13, 2011
自从有了数码设备以后,照片便越来越多了,并且随着从600W像素升级到1400W像素,硬盘空间及备份都成了问题。几年的照片已经有1万多张,加上一些视频已经占用了50G的空间。想备份一下,免得哪天硬盘挂了就傻逼了。如果直接拷贝的话,倒是没问题,关键是要找一个硬盘来对付这么大的存储。其实我是想备份到网络上的,DreamHost提供了50G的免费存储空间,为何不用呢?再加上有时候需要将照片共享一下,照片缩放自然成了一个大问题。
当然,我不可能将50G都传上去,显然俺们的小管子是不适合做这个事情的。那么只有先压缩了。我试过用photoshop写了个action跑了一晚上,发现中途出错了,可控性也不好;用一些宣称为批量处理的软件,结果一个比一个傻逼;有些软件竟然最后自己崩溃了,简单看了一下原来是自己将所有的图片都读了一遍,把资源消耗完了。
总结起来现有软件有以下不足:
- 无法对付海量图片
- 性能不好,速度太慢
- 不支持多线程,浪费能源
- 对文件的可操控性差,操作缓慢
最后实在是没办法了,操起cygwin,写个脚本搞吧。我一直知道,在linux下面工作,用脚本,那就是另一种异常开心的工作。
首先试了试ImageMagick的缩放素质,还是蛮不错的,速度也挺快。好,下一步就是写脚本,在try and retry过程,终于出了个可用的脚本:
该脚本可以批量进行处理,并且是多线程的,很黄很暴力。在我的Q6600上实测,开16个进程,CPU占用率一直100%,内存在1G-1.5G之间波动,10多秒就转换完16个文件,速度超快~哈哈。
|