繁体   English   中英

如何确定cv :: Mat使用的是内部还是外部数据?

[英]How can I determine whether a cv::Mat is using internal or external data?

我正在将OpenCV与具有自己的引用计数图像类的旧代码库集成。 我正在添加一个构造函数,用于从cv :: Mat创建这些图像。 作为一种优化,我想利用cv :: Mat的引用计数机制并在拥有数据时进行浅表复制。 但是,当使用外部数据时,我需要强制进行深拷贝。

问题是,通过阅读文档,我看不到一种确定cv :: Mat是否拥有其数据的方法。 可以做到这一点(无需修改OpenCV)吗?

顺便说一句,万一重要,我正在使用OpenCV 3.1。

使用cv :: Mat的成员UMatData * u 如果cv :: Mat使用外部数据,则应为0,否则您可以按以下方式获得ref计数器

img.u->refcount

暂无
暂无

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

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