繁体   English   中英

IplImage与CvMat

[英]IplImage vs CvMat

我知道很多人对IplImageCvMat之间的技术差异感兴趣。 (是的,不是cv::Mat (*),而是CvMat 。)所以,让我们以实际为重点来区分差异。

CvMatIplImage版本吗? CvMat只是IplImage的包装器吗? 如果是这样,为什么他们也开发CvMat

我问了这些问题,因为我看到IplImage在整体搜索中是最受欢迎的,在我看来它也是最多的帖子。

仍然使用IplImage而不是更新的结构有什么好处

(*)(我在这里也提出了c ++标签,因为许多人也在使用c ++,而且有些库更喜欢IplImage 。)

我建议您阅读Learning OpenCV一书中的OpenCV Primitive Data Types段落。 关于这两种数据类型之间的差异有一个很好的解释。

IplImage来自英特尔图像处理库,根据文档: http//opencv.willowgarage.com/documentation/basic_structures.html#iplimage

这个问题也解决了CvMat结构,你可能会注意到: OpenCV的cvMat的内存结构是什么?

至于哪个更有益:虽然在各种情况下CvMatIplImage在这里或那里可能存在轻微的速度差异 - 这取决于你想要做什么。 例如,您需要在内存中共享矩阵结构吗? 您是否需要高效序列化或搜索等? 申请很重要。

(从理论上讲, IplImage提供的一个优势是,由于它的谱系,它通常与现有的实现更兼容,正如您所指出的那样。)

回答你的问题:

仍然使用IplImage而不是更新的结构有什么好处?

也许没有。 由于某些原因它已被开发者弃用了,我猜你仍然会发现它的原因很多是因为遗留代码; 因为人们仍然遵循旧的代码示例而不知道该结构已被弃用,并且因为“学习OpenCV 第一版 ”在opencv函数签名和数据结构方面已经过时,但仍然有许多人以opencv开头。

作为参考, 学习OpenCV第二版应该是2013年3月,但不要引用我;)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM