我正在将OpenCV与一个具有自己的引用计数图像类的遗留代码库集成在一起。我添加了一个用于从cv::Mat创建这些图像的构造函数。作为优化,我想利用cv::Mat的refcounting机制&当它拥有数据时,做一个浅层拷贝。但是,当它使用外部数据时,我需要强制执行深度复制。
问题是,通过阅读文档,我看不到一种方法来确定cv::Mat是否拥有它的数据。可以做到这一点(不修改OpenCV)吗?
顺便说一句,以防万一,我使用的是OpenCV 3.1。
发布于 2017-01-31 15:06:30
使用cv::Mat的成员UMatData * u。如果cv::Mat使用外部数据,则应为0,否则可以获取ref计数器,如下所示
img.u->refcounthttps://stackoverflow.com/questions/41950554
复制相似问题