我一直在阅读https://stackoverflow.com/questions/158756/what-is-the-best-image-manipulation-library并尝试了一些图书馆,现在正在寻找最符合我们需求的输入。我将首先描述我们当前的设置和问题。
我们有一个系统需要调整大小并从大原始图像中裁剪大量图像。我们每天在2台强大的服务器上处理5万多张图像。今天我们使用来自WebSupergoo的ImageGlue但我们根本不喜欢它,它很慢并且偶尔挂起服务(它在另一个未解决的堆栈溢出问题)。我们有一个线程化的Windows服务,它使用Microsoft ThreadPool在8核计算机上尽可能地调整大小。
我已经尝试了AForge并且它非常好,它加载速度更快,从不崩溃或任何东西。但是我在一些图像上遇到质量问题。由于我使用了什么算法,因此可以进行调整。但是想扩大我们的视野,看看这是不是正确的方法。
这样:
因此,我们对能够快速获得上帝质量的能力提出了很多要求,并且即使可以通过压缩进行调整,也可以降低文件大小。
有关使用哪个库的任何意见或建议?
答案 0 :(得分:1)
我理解你仍然希望仍然使用C#但提供替代方案。
根据您正在进行的大量工作,操作图像的最快方法是完全在GPU上完成(这将卸载大部分像素工作)。您可以从可以从服务中调用的托管C ++与CUDA进行互操作。或者使用DirectX曲面和渲染目标(你可以使用抗锯齿和开箱即用的所有高质量的东西)。
但是,在执行任何操作之前,请确保您的工作负载由三线性/双线性调整大小而不是图像的编码/解码支配。顺便说一下,你需要在每台服务器上至少安装一个快速的nVidia显卡来进行卸载(便宜的GTX 460就足够了)。