Unix 调整图像大小(jpeg或解压缩图像)
在我的最后一个问题中,我问是否有比我想象的更好的方法。我最终发现了jpegtran,并从此发现了它 现在我正在寻找一种比imagemagick和graphicsmagick更好的方法来调整图像(JPEG)的大小 是否有专门的命令行工具可以比imagemagick或graphicsmagick更有效地调整图像大小?也许可以使用opencl或opengl在GPU上进行大小调整 提供的硬件与另一篇文章中的相同:Unix 调整图像大小(jpeg或解压缩图像),unix,opengl,opencl,image-resizing,Unix,Opengl,Opencl,Image Resizing,在我的最后一个问题中,我问是否有比我想象的更好的方法。我最终发现了jpegtran,并从此发现了它 现在我正在寻找一种比imagemagick和graphicsmagick更好的方法来调整图像(JPEG)的大小 是否有专门的命令行工具可以比imagemagick或graphicsmagick更有效地调整图像大小?也许可以使用opencl或opengl在GPU上进行大小调整 提供的硬件与另一篇文章中的相同: 英特尔Atom D525(1.8 Ghz) Mobility Radeon HD 543
- 英特尔Atom D525(1.8 Ghz)
- Mobility Radeon HD 5430系列
- 4 GB内存
- 垂直度3
- 是个人计算机、服务器和手持/嵌入式设备中现代处理器跨平台并行编程的标准。它由ATI直接支持。您需要获得GPU支持(也请查看此)
- 看一看。它是多媒体和数据处理应用程序的多线程函数软件库。除其他功能外,它还具有调整图像大小的功能(双线性、最近邻等)。不幸的是,它不是免费的(最便宜的版本要199美元)
- 是一个免费的图像处理系统。它声称,与大多数图像处理库相比,VIP需要的内存少,运行速度快,特别是在具有多个CPU的机器上。有关针对其他类似系统的简单基准,请参阅
- 只需使用FFMpeg.exe即可。它可以调整大小、转换、更改质量等。
而且它还适用于几乎所有已知类型的视频/音频/图片。
它在Linux和UNIX中也有工作,并且它有C++的开源代码。
您可以获得它(对于Windows/compiled exe)或(源代码等)
如果您正在开发一个程序,我建议您使用标准的GDIPlus库。 它通过图片完成所有操作。查看以下链接: 作者特别提到imgresize比imagemagick快,而epeg速度非常快
epeg()在生成缩略图方面似乎有很好的文档记录。如果质量足够好,这可能是解决方案。独立JPEG组还提供了djpeg和cjpeg,它们可以重新缩放并将图像转换为M/N分数。不完美但速度很快。您是否尝试过libjpeg-turbo中的
cjpeg
?似乎应该有类似的性能改进。与为每个jpeg生成命令行实用程序不同,您还应该能够通过直接使用libjpeg turbo库来提高速度。与其陈述一些随机要求(效率是一个抽象的项目),不如说出当前困扰您的限制以及您希望获得的限制。另外,最好知道当前的实际瓶颈是什么(可以是读、写、编/解码或实际转换)。谢谢,我已经查看了VIP,但性能不好:#time gm convert-size 600x400 a.jpg-resize 600x400 b.jpg real 0m0.239s user 0m0.192s sys 0m0.008s#time VIP im_resize_linear a.jpg b.jpg 600 400 real 0m0.854s user 0m0.692s sys 0m0.100s这是一个更快的系统。在Atom上,这需要大约5倍的时间。您需要使用vipsthumbnail。例如,$time gm convert-size 600 wtc.jpg-resize 600 b.jpg real 0m0.271s用户0m0.368s sys 0m0.020s$time vipshumbnail wtc.jpg--size 600--output b.jpg real 0m0.270s用户0m0.272s sys 0m0.016s
。jpeg的差异很小,因为它可以在加载时快速缩小,但tif和png等格式的差异很大。谢谢!缩放图像过去需要约2秒(r:2.000s,u:5.632s,sys:0.1s),现在需要约0.8秒(r:0.821,u:0.756,sys:0.048s)。这不到一半的时间:)