【发布时间】:2010-10-26 19:34:45
【问题描述】:
我正在编写一个需要调整大量图像大小的应用程序......这是我的要求:
- C/C++
- 至少支持 jpeg/png
- 快速
- 跨平台
目前我的选择是:
- OpenCV
- CImg
- ImageMagick
- GraphicsMagick(据说速度很快)
- 恶魔
- 来自 Boost 的 GIL
- CxImage
- Imlib2(据说速度很快)
- 还有其他人吗?
所有这些都可以完成工作,但我在这里寻找最快,我无法找到任何关于它们性能的基准。
【问题讨论】:
-
调整大量图像(例如上个月的整个 flickr 上传)听起来像是一个高度专业化的应用程序,所以我想知道为什么跨平台如此重要?如果您可以依赖特定的硬件,您可能能够在扩展部分上走得如此之快,以至于您必须认真考虑如何以足够快的速度读取/写入所有数据。
-
“我无法找到任何基准”:您可以随时进行基准测试,然后在此处分享您的发现 :-)
-
@chris 我意识到这是一个老问题,但是使用通用 CPU 和本地磁盘上的图像调整大小几乎肯定会成为一个计算受限的问题。现在,如果您的意思是专门的(例如 CUDA)而不是特定的硬件,您可能能够使其 IO 绑定。