命令行图像转换器\ resizer

时间:2016-11-21 07:13:55

标签: imagemagick image-resizing graphicsmagick image-conversion

我正在寻找命令行图像转换器/缩放器。

我需要做的是将位图和tiff文件转换为png文件以及创建缩略图。图像比较大。最大的是大约13,000 x 10,000像素,大约200mb。

我尝试过ImageMagick。它使用了太多内存,速度太慢,无法使用光盘缓存而无法处理最大的文件,使其速度极慢。

目前我使用的是使用较少内存且可以处理较大文件的GraphicsMagick,但它仍然有点慢。每张图片大约15秒。

是否还有其他可能提供更好性能的程序?

3 个答案:

答案 0 :(得分:1)

您可以尝试libvips。它是一个流式图像处理库,因此它能够读取输入,处理和将输出写为单个管道,没有单独的加载阶段,也没有临时文件。它也有一个花哨的线程IO系统,所以performance is good and memory use is low

我在这台机器上计时(想象一下ImageMagick 6.9.6-3 Q16,gm 1.3.25,vips 8.4.2):

$ vips black test.tif 13000 10000 --bands 3
$ ls -l test.tif
-rw-r--r--  1 john  staff  390000854 22 Nov 09:43 test.tif

这是一个13000 x 10000 3波段,8比特未压缩的TIFF。使用vipsthumbnail,vips附带的图像缩小器,我看到了:

$ /usr/bin/time -l vipsthumbnail test.tif -s 128x128 -o small.png
    0.54 real         0.42 user         0.11 sys
77635584  maximum resident set size

我跑了三次并选择了最快的,所以这应该是vipsthumbnail而不是我的磁盘系统的测试。实时为0.54秒,峰值内存为77MB。

convert我看到了:

$ /usr/bin/time -l convert test.tif -resize 128x128 small.png
    4.87 real         4.28 user         0.55 sys
1432182784  maximum resident set size

同样,三次运行中最快,4.87s实时,1.4gb内存。我看,GraphicsMagick的速度要快一点:

$ /usr/bin/time -l gm convert test.tif -resize 128x128 small.png
    3.95 real         3.41 user         0.51 sys
1264369664  maximum resident set size

3.95s真实,1.2gb峰值内存。

在此测试中,因此libvips的速度提高了7倍,并且使用的内存比graphicsmagick少15倍。

libvips是大多数linux的标准组成部分,它位于自制软件和macports中,而vips网站上有64位Windows二进制文件。

答案 1 :(得分:0)

有很多图像处理软件可以从您的任何选择转换为您想要的输出格式,只需下载这个漂亮的软件

  • 可以处理所有(视频,图像,音频)和
  • 您不必编写任何命令,其图形界面将为您提供所需的一切,
  • 它以很少或更少的内存运行。
  • 您可以转换所需尺寸的图像,并在进行其他操作时跟踪进度。

查看软件http://www.pcfreetime.com/

的官方链接

答案 2 :(得分:0)

使用ImageMagick或GraphicsMagick,您可以使用较低的“质量”而不是接受默认质量== 75来加速PNG编码。这将交换压缩性能(文件大小)以提高速度。尝试-quality 40用于艺术线条,或-quality 41用于拍摄照片。以下是使用libpng-1.2.54构建的ImageMagick-7.0.3-8从相机中获取JPEG的一些结果:

glenn.rp> time magick D*88.JPG d88-q75.png
real    0m13.494s user  0m11.252s sys   0m2.060s
glenn.rp> time magick -quality 41 D*88.JPG d88-q41.png
real    0m7.377s user   0m4.728s sys    0m1.908s
glenn.rp> time magick -quality 40 D*88.JPG d88-q40.png
real    0m3.842s user   0m3.200s sys    0m0.584s
glenn.rp> ls -lt d88*
-rw-rw-r-- 1 glennrp glennrp 24352041 Nov 29 15:45 d88-q40.png
-rw-rw-r-- 1 glennrp glennrp 17072518 Nov 29 15:45 d88-q41.png
-rw-rw-r-- 1 glennrp glennrp 15788794 Nov 29 15:44 d88-q75.png