![](/img/trans.png)
[英]cv::Mat external data not being modified after using cv::imdecode
[英]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.