【问题标题】:What to use : Ipl? or Mat? [closed]使用什么: Ipl?还是垫子? [关闭]
【发布时间】:2013-05-20 01:29:32
【问题描述】:

我真的不知道下一个项目要使用什么: 图像?还是 Cv::Mat?

知道我想要:

  • 更好的性能
  • 对于使用的不同工具(垫子的乘法、不同的计算/图像处理工具......)有相当大的速度响应
  • 更少使用内存

如果是这样,我应该将我以前的所有 IplImage 都更改为 cv::Mat 吗?

【问题讨论】:

    标签: c++ c visual-studio-2010 opencv image-processing


    【解决方案1】:

    它们都不比另一个更快或更轻。至少以任何可衡量的方式。 (也许 cv::Mat 比 IplImage 多 4 个字节,与将图像数据存储到其中所需的 12.000.000 个字节相比,这不会造成伤害)

    它们都没有提供更快的计算,也没有更多的工具来处理它。

    他们提供的只是一个指向一些数据的指针,以及一些关于图像宽度、高度、步长和类型的额外信息。

    但是 cv::Mat(以及 C++ 接口的其余部分)使用起来更容易、更安全。您可以在更短的时间内编写更少的代码。您需要修复的错误更少。这使您可以专注于在速度和内存消耗方面改进算法。

    对于这个事实,是的,cv::Mat 更快更轻——如果你好好利用它的话。

    另外,检查这个类似的OpenCV: C++ and C performance comparison

    【讨论】:

    • 我会说如果发帖人要使用 C++,他也使用 C++ api,因此将来会为他/她自己省去一些麻烦,因此应该选择 cv::Mat。就性能而言,它并没有像你说的那样真正有所作为。
    猜你喜欢
    • 2018-04-12
    • 1970-01-01
    • 1970-01-01
    • 2011-01-08
    • 2011-04-21
    • 1970-01-01
    • 2011-08-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多