使用方法:Ipl?还是垫?

use*_*422 1 c c++ opencv image-processing visual-studio-2010

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

知道我想要:

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

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

Sam*_*Sam 6

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

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

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

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

而对于这个事实,是的,cv :: Mat更快更轻 - 如果你把它用得好.

另外,检查一下这个类似的OpenCV:C++和C性能比较

  • 我会说,如果海报是用于C++,他也会使用C++ api,因此将来会给他/她带来一些麻烦,因此应该选择cv :: Mat.表现明智,它并没有像你说的那样有所作为. (3认同)