2011-12-31 35 views
5

我正在研究机器人视觉系统,其主要目的是检测对象,我想选择其中一个库(CImg,OpenCV),并且我对它们都有所了解。最快的图像处理库?

我正在使用的机器人有Linux,1GHz CPU和1G RAM,我使用C++,图像大小为320p。

我想要在25帧/秒的时间范围内进行实时图像处理。 在你看来,哪个库更强大?虽然我测试了两者并且它们具有相同的进程时间,但打开cv稍微好一些,我认为这是因为我使用了带有开放cv代码的指针。

请分享你的想法和理由。

感谢。

+2

最好在DSP -Q&A网站本身上展示这样的图像处理问题。检查了这一点:http://dsp.stackexchange.com/ – 2011-12-31 14:57:05

回答

5

我认为在集成OpenCV和IPP时,您可能获得最佳性能。

看到这个参考,http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-open-source-computer-vision-library-opencv-faq/

这里是另一个基准http://experienceopencv.blogspot.com/2011/07/speed-up-with-intel-integrated.html

此外,如果你冻结的作品完美的算法,通常你可以隔离你的算法和实现做严肃优化您的工作方式(如内存优化,移植到组件等),可能无法使用。

+0

但IPP不是免费的:) – ajlajlajl 2012-01-01 09:25:59

+0

你应该检查IPP可以运行在你的嵌入式系统中。 OpenCV有一个庞大的用户群,所以你应该去用它。 – 2012-01-04 16:43:11

+0

OpenCV就是答案。 OpenCV将成为您可以使用的最快和功能最强大的库。 – ahoffer 2012-01-06 06:38:15

1

这实际上取决于你想要做什么(你想检测什么样的对象,准确性,你使用的是什么算法等等)以及你有多少时间。如果是通用计算机视觉/图像处理,我会坚持使用OpenCV。正如Dipan所说,确实考虑进一步优化。根据我对计算机视觉优化的经验,瓶颈通常在内存互联带宽(或内存本身)中,因此您可能必须交换周期(计算)以节省通信。请理解算法,以进一步优化算法(与编译器相比,有时可以提供巨大的改进)。