【问题标题】:fastest image processing library?最快的图像处理库?
【发布时间】:2011-12-31 10:40:08
【问题描述】:

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

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

我希望在每秒 25 帧中接近 20 帧进行实时图像处理。 在您看来,哪个库更强大 l 尽管我已经测试了两者并且它们具有相同的处理时间,但 open cv 稍微好一些,我认为这是因为我使用带有 open cv 代码的指针。

请分享你的想法和理由。

谢谢。

【问题讨论】:

标签: image-processing opencv cimg


【解决方案1】:

我认为,当您将 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

此外,如果您冻结了运行良好的算法,通常您可以隔离您的算法并按照自己的方式进行可能尚未准备好使用的严重优化(例如内存优化、移植到程序集等)。

【讨论】:

  • 您应该检查 IPP 是否可以在您的嵌入式系统中运行。 OpenCV 拥有庞大的用户群,因此您应该选择它。
  • OpenCV 就是答案。 OpenCV 将是您可以使用的最快、最强大的库。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-07
    • 2010-10-22
    • 2012-10-03
    • 2013-03-11
    • 1970-01-01
    • 1970-01-01
    • 2010-10-04
    相关资源
    最近更新 更多