The key idea here is the partial image descriptor

VIPS(VASARI Image Processing System) 是近几年逐渐兴起的针对大图像数据高效处理的开源库,下面给出一个表格显示出其相对于目前的一些其他开源库,针对同一组5000×5000,8-bit的RGB三通道TIFF图像,在运行时间,内存消耗上的对比,明显可以看出其优势。

Software Run time (secs real) Memory (peak RSS MB) Times slower
VIPS C/C++ 8.1 0.20 43 1.0
Python VIPS 8.1 0.30 52 1.5
VIPS command-line 8.1 0.55 40 2.4
VIPS C/C++ 8.1, JPEG images 0.38 59 2.7
ymagine 0.7.0 1.07 2.7 2.8 (compared to vips-c JPEG)
GraphicsMagick 1.3.20 0.67 492 3.4
sips 10.4.4 0.74 (est.) 268 3.7
ImageMagick 6.8.9-9 0.78 484 3.9
VIPS nip2 8.1 0.79 78 4.0
RMagick 2.15.2 (ImageMagick 6.8.9) 0.87 684 4.4
NetPBM 10.0 0.93 76 4.7
Pillow 2.7.0 0.93 207 4.7
OpenCV 2.4.9 1.13 206 5.7
libgd 2.1.1 2.34 186 6.1 (compared to vips-c JPEG)
Imlib2 1.4.7 1.53 250 7.7
ExactImage 0.8.9 1.54 130 7.7
FreeImage 3.15.4 (incomplete) 1.63 183 8.1
gmic 1.5.7.1 1.87 700 9.35
ImageScience 1.2.6 (based on FreeImage 3.15.4, incomplete) 1.9 267 9.5
OpenImageIO 1.3.12 2.79 811 14
GEGL 0.2 16.2 410 43 (compared to vips-c JPEG)
Octave 3.8 30 (est.) 8500 (est.) 200

测试环境:

E5-1650 @ 3.20GHz (HP workstation), Ubuntu 15.04

对应的Memory vs. time 曲线图如下:

可以看出,相比于其它库,vips处理速度更快,而且消耗的内存更小,但是比较麻烦的是配置比较麻烦…

提供一个下载链接: http://www.vips.ecs.soton.ac.uk/supported/current/win32/

Image Processing for Very Large Images的更多相关文章

  1. MySQL vs. MongoDB: Choosing a Data Management Solution

    原文地址:http://www.javacodegeeks.com/2015/07/mysql-vs-mongodb.html 1. Introduction It would be fair to ...

  2. mapreduce源码分析总结

    一 MapReduce概述 Map/Reduce是一个用于大规模数据处理的分布式计算模型,它最初是由Google工程师设计并实现的,Google已经将它完整的MapReduce论 文公开发布了.其中对 ...

  3. 什么是Hadoop

    配上官方介绍 What Is Apache Hadoop?    The Apache™ Hadoop® project develops open-source software for relia ...

  4. 一些公司对quantitative的要求

    来自日月光华BBS: Company: UBS AG Job Title: Quantitative Developers / Analysts (Entry Level, Multiple Posi ...

  5. 初识分布式计算:从MapReduce到Yarn&Fuxi

      这些年,云计算.大数据的发展如火如荼,从早期的以MapReduce为代表的基于文件系统的离线数据计算,到以Spark为代表的内存计算,以及以Storm为代表的实时计算,还有图计算等等.只要数据规模 ...

  6. MapReduce 原理与 Python 实践

    MapReduce 原理与 Python 实践 1. MapReduce 原理 以下是个人在MongoDB和Redis实际应用中总结的Map-Reduce的理解 Hadoop 的 MapReduce ...

  7. 典型分布式系统分析之MapReduce

    在 <分布式学习最佳实践:从分布式系统的特征开始(附思维导图)>一文中,提到学习分布式系统的一个好方法是思考分布式系统要解决的问题,有哪些衡量标准,为了解决这些问题:提出了哪些理论.协议. ...

  8. 典型分布式系统分析:MapReduce

    在 <分布式学习最佳实践:从分布式系统的特征开始(附思维导图)>一文中,提到学习分布式系统的一个好方法是思考分布式系统要解决的问题,有哪些衡量标准,为了解决这些问题:提出了哪些理论.协议. ...

  9. GitHub awesome Resource

    各种Awesome技术资源的资源聚合: https://github.com/sindresorhus/awesome Contents Platforms Programming Languages ...

随机推荐

  1. Servlet过滤器和监听器知识总结

    Servlet过滤器是 Servlet 程序的一种特殊用法,主要用来完成一些通用的操作,如编码的过滤.判断用户的登录状态.过滤器使得Servlet开发者能够在客户端请求到达 Servlet资源之前被截 ...

  2. java map实现二级联动查询(省市区下拉列表查询)

    1.Map集合可以保存键值映射关系,这非常适合本实例所需要的数据结构,所有省份信息可以保存为Map集合的键,而每个键可以保存对应的城市信息,本实例就是利用Map集合实现了省市级联选择框,当选择省份信息 ...

  3. NOIP2012 同余方程 题解

    描写叙述 求关于x的同余方程ax ≡ 1 (mod b)的最小正整数解. 格式 输入格式 输入仅仅有一行,包括两个正整数a, b,用一个空格隔开. 输出格式 输出仅仅有一行,包括一个正整数x0.即最小 ...

  4. [Preference] How to avoid Forced Synchronous Layout or FSL to improve site preference

    When tigger site updates the layout, it always follow this order: Javascript trigger style changes, ...

  5. Tom和Jerry来了,Tom和Jerry走了——北漂18年(38)

    上次讲到跟我同一时候入职的女销售走了. 回忆起来,她的问题多半是技巧足够,脑子不足够,走了之后再没联系.不久之后,在老板的要求之下.LilyG又招聘了两位男销售,英文名字非常登对一个叫Tom,一个叫J ...

  6. Android Drawable 那些不为人知的高效使用方法

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/43752383,本文出自:[张鸿洋的博客] 1.概述 Drawable在我们平时的 ...

  7. &lt;LeetCode OJ&gt; 100. Same Tree

    100. Same Tree Total Accepted: 100129 Total Submissions: 236623 Difficulty: Easy Given two binary tr ...

  8. CDH使用秘籍(一):Cloudera Manager和Managed Service的数据库

    背景 从业务发展需求,大数据平台须要使用spark作为机器学习.数据挖掘.实时计算等工作,所以决定使用Cloudera Manager5.2.0版本号和CDH5. 曾经搭建过Cloudera Mana ...

  9. bzoj1588: [HNOI2002]营业额统计(splay)

    1588: [HNOI2002]营业额统计 题目:传送门 题解: 复习splay所以来刷个水... 题目描述不是特别清楚:应该是找第i天以前一个最小的营业额和第i天做差的最小值作为第i天的最小波动值 ...

  10. Huatuo's Medicine

    Huatuo's Medicine Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others ...