Image Processing for Very Large Images
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的更多相关文章
- 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 ...
- mapreduce源码分析总结
一 MapReduce概述 Map/Reduce是一个用于大规模数据处理的分布式计算模型,它最初是由Google工程师设计并实现的,Google已经将它完整的MapReduce论 文公开发布了.其中对 ...
- 什么是Hadoop
配上官方介绍 What Is Apache Hadoop? The Apache™ Hadoop® project develops open-source software for relia ...
- 一些公司对quantitative的要求
来自日月光华BBS: Company: UBS AG Job Title: Quantitative Developers / Analysts (Entry Level, Multiple Posi ...
- 初识分布式计算:从MapReduce到Yarn&Fuxi
这些年,云计算.大数据的发展如火如荼,从早期的以MapReduce为代表的基于文件系统的离线数据计算,到以Spark为代表的内存计算,以及以Storm为代表的实时计算,还有图计算等等.只要数据规模 ...
- MapReduce 原理与 Python 实践
MapReduce 原理与 Python 实践 1. MapReduce 原理 以下是个人在MongoDB和Redis实际应用中总结的Map-Reduce的理解 Hadoop 的 MapReduce ...
- 典型分布式系统分析之MapReduce
在 <分布式学习最佳实践:从分布式系统的特征开始(附思维导图)>一文中,提到学习分布式系统的一个好方法是思考分布式系统要解决的问题,有哪些衡量标准,为了解决这些问题:提出了哪些理论.协议. ...
- 典型分布式系统分析:MapReduce
在 <分布式学习最佳实践:从分布式系统的特征开始(附思维导图)>一文中,提到学习分布式系统的一个好方法是思考分布式系统要解决的问题,有哪些衡量标准,为了解决这些问题:提出了哪些理论.协议. ...
- GitHub awesome Resource
各种Awesome技术资源的资源聚合: https://github.com/sindresorhus/awesome Contents Platforms Programming Languages ...
随机推荐
- mysql修改配置文件
在Apache, PHP, MySQL的体系架构中,MySQL对于性能的影响最大,也是关键的核心部分.对于Discuz!论坛程序也是如此,MySQL的设置是否合理优化,直接影响到论坛的速度和承载量!同 ...
- BA-siemens-TX-IO模块照片
西门子楼宇自控用到的P1模块是这样的 TX-16D模块是这样的 TX-8X模块是这样的: TX-6R模块是这样的: TX-IO总线连接模块( 此模块供电和通讯加起来共需三芯线):
- Android ViewGroup拦截触摸事件具体解释
前言 在自己定义ViewGroup中.有时候须要实现触摸事件拦截.比方ListView下拉刷新就是典型的触摸事件拦截的样例. 触摸事件拦截就是在触摸事件被parent view拦截,而不会分发给其ch ...
- OJ刷题---手机尾号评分
题目要求: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dis ...
- Gym 100418J Lucky tickets(数位dp)
题意:给定一个n.求区间[1, n]之间的全部的a的个数.a满足: a能整除 把a表示自身二进制以后1的个数 思路:题意非常绕.... 数位dp,对于全部可能的1的个数我们都dfs一次 对于某一个可 ...
- HDU 5654 xiaoxin and his watermelon candy 离线树状数组
xiaoxin and his watermelon candy Problem Description During his six grade summer vacation, xiaoxin g ...
- Codeves 2800 送外卖 状态压缩DP+floyd
送外卖 题目描述 Description 有一个送外卖的,他手上有n份订单,他要把n份东西,分别送达n个不同的客户的手上.n个不同的客户分别在1~n个编号的城市中.送外卖的从0号城市出发,然后 ...
- Linux学习之基本介绍
技术不分年龄高低,只分水平高低. 搞技术25k以下是不看天赋的,25k以上是要看天赋的. 1U服务器,2U服务器,刀片服务器.程序都是运行在服务器上的. 榜样的力量是无穷的.--MK. 汇编语言跟硬件 ...
- Google浏览器vim命令
使用鼠标久了,手腕.肩膀依旧疼痛.偶尔逛知乎,看到有人推荐chrome浏览器的vimium插件(火狐浏览器是vimperator),安装了使用了几天,真不愧是浏览器神器,好用到想哭,而且非常容易上手. ...
- 在ubuntu下安装redis
最简单在线安装的方式: #安装Redis服务器端 ~ sudo apt-get install redis-server 安装完成后,Redis服务器会自动启动,我们检查Redis服务器程序 # 检查 ...