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 ...
随机推荐
- 线程锁的机制Lock
java.util.concurrent.locks 接口Lock publci interface Lock Lock 实现提供了比使用synchronized方法和语句可获得的更加广泛的锁定操作, ...
- Mysql提升大数据导入速度的绝妙方法
一.对于Myisam类型的表,可以通过以下方式快速的导入大量的数据. ALTER TABLE tblname DISABLE KEYS; loading the data A ...
- BA-闭式冷却塔系统
- HDU 4358
看了题解那个弱化版后,马上就去做了HDU 3333这道题,发现有可用的地方.于是往这方面想,主要是处理如何确定一个数出现K次的问题.想到了从左往右把每个数出现的次数记下来,但感觉不是这样,呃,再看别人 ...
- Android測试APP工具(一)
近期面试APP开发者的时候,遇到了技术总监问 APP測试的概念性问题.后面感觉主要的项目流程.项目逻辑.屏幕适配. 測试是全然没有问题的.可是对于APP的性能測试.压力測试等高端的測试.还是存在着美中 ...
- IOS-2-C语言和Objective-C语言衔接学习资料
前言:在IOS学习中.通常会先学习一周的C语言,两周的Objective-C语言,这是今后开发的最基础最重要的部分,以下给大家分享一下培训课上的精简资料: C语言和Objective-C语言衔接学习资 ...
- hdu5386 Cover
Problem Description You have an n∗n matrix.Every grid has a color.Now there are two types of operati ...
- cvReadTrainData
cvReadTrainData的源代码在opencv的cvboost.cpp文件之中,详细内容例如以下所看到的: CV_BOOST_IMPL void cvReadTrainData( const c ...
- java连接mysql数据库增删改查操作记录
1. 连接数据库.得到数据库连接变量 注意连接数据库的时候 (1)打开DB Browser 新建一个Database Driver,注意加入Driver JARs的时候加入的包,我的是mysql-co ...
- 2015.04.30,外语,读书笔记-《Word Power Made Easy》 14 “如何谈论日常现象” SESSION 40
1. money, and what it will buy penury(['penjuri] n. 贫穷,拮据),来自拉丁词语penuria(need,needness的意思),主要指缺乏财富资源 ...