使用方法:Ipl?还是垫?

时间:2013-05-24 12:33:16

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

我真的不知道下一个项目会用什么: IplImage的?或者Cv :: Mat?

知道我想要:

  • 更好的表现
  • 关于使用不同工具的相当快速响应(垫子的乘法,不同的计算/图像处理工具......)
  • 少用记忆

如果是这样,我是否应该将之前的所有IplImages更改为cv :: Mat?

1 个答案:

答案 0 :(得分:6)

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

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

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

但是cv :: Mat(以及C ++界面的其余部分)使用起来更简单,更安全。您可以在更短的时间内编写更少的代码。你有更少的错误需要解决。这使您可以专注于提高速度和内存消耗的算法。

对于这个事实,是的,cv :: Mat更快更轻 - 如果你充分利用它。

另外,请检查此类OpenCV: C++ and C performance comparison