Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 我应该使用什么图像处理库_Image_Image Processing_Thread Safety - Fatal编程技术网

Image 我应该使用什么图像处理库

Image 我应该使用什么图像处理库,image,image-processing,thread-safety,Image,Image Processing,Thread Safety,我一直在阅读和尝试一些图书馆,现在正在寻找最适合我们需要的资料。我将首先描述我们当前的设置和问题 我们有一个系统,需要从大的原始图像中调整和裁剪大量图像。我们每天在两台功能强大的服务器上处理50000多张图像。今天,我们使用来自WebSupergoo的ImageGlue,但我们一点也不喜欢它,它速度很慢,有时会挂起服务(这是另一个未回答的堆栈溢出问题)。我们有一个线程windows服务,它使用Microsoft ThreadPool在8核机器上尽可能多地调整大小 我试过一辆福特,它开得很好,装载

我一直在阅读和尝试一些图书馆,现在正在寻找最适合我们需要的资料。我将首先描述我们当前的设置和问题

我们有一个系统,需要从大的原始图像中调整和裁剪大量图像。我们每天在两台功能强大的服务器上处理50000多张图像。今天,我们使用来自WebSupergoo的ImageGlue,但我们一点也不喜欢它,它速度很慢,有时会挂起服务(这是另一个未回答的堆栈溢出问题)。我们有一个线程windows服务,它使用Microsoft ThreadPool在8核机器上尽可能多地调整大小

我试过一辆福特,它开得很好,装载速度更快,从来没有撞车过。但我有一些图像的质量问题。这是因为我使用了ofc的算法,所以可以进行调整。但是我想睁大我们的眼睛看看这是不是正确的方法

因此:

  • 它需要是c#.net并在windows服务中运行。(因为我们不会仅更改图像处理服务的其余部分)
  • 它需要很好地处理线程化环境
  • 我们非常需要它的速度,因为今天它太慢了。但我们也希望有好的质量和小的文件大小,因为这些图像后来会显示在网页上,有大量的访问者,需要良好的质量
因此,我们对快速获得高质量文件的能力有很多要求,而且即使可以通过压缩进行调整,也可以降低文件大小


关于使用哪个库有什么意见或建议吗?

我知道它说您仍然想使用C,但提供了一个替代方案

根据你正在做的工作的数量,操作图像的最快方法是完全在GPU上完成(这将卸载大部分像素工作)。你可以从管理C++中与CUDA进行交互操作,你可以从你的服务中调用它。或者使用DirectX曲面和渲染目标(可以使用抗锯齿和所有现成的高质量内容)


但是,在执行任何操作之前,请确保您的工作负载主要由三线性/双线性调整大小控制,而不是由图像的编码/解码控制。顺便说一句,您需要在每台服务器上至少安装一张快速nVidia视频卡来完成卸载(便宜的GTX 460就足够了)。

谢谢您的反馈!这确实是一个有趣的想法,将我的旧directx编码一扫而光会很有趣。它最终可能会产生最快、也许是最好的结果,但实施这个解决方案需要花费太多的时间。以及升级服务器。用一个新的组件实现我的图像处理接口是非常省力的。我会记住这个解决方案,如果它仍然太慢,我们无法得到一个快速的解决方案与另一个库的好结果。