提问人:Droid Coder 提问时间:1/31/2017 更新时间:1/31/2017 访问量:899
如何确定 cv::Mat 使用的是内部数据还是外部数据?
How can I determine whether a cv::Mat is using internal or external data?
问:
我正在将 OpenCV 与具有自己的 ref-counted 图像类的旧代码库集成。我正在添加一个构造函数,用于从 cv::Mat 创建这些图像。作为优化,我想利用 cv::Mat 的引用计数机制,并在它拥有数据时进行浅层复制。但是,当它使用外部数据时,我需要强制进行深度复制。
问题是,通过阅读文档,我看不到确定 cv::Mat 是否拥有其数据的方法。这可以做到吗(不修改 OpenCV)?
顺便说一句,如果重要的话,我正在使用 OpenCV 3.1。
答:
7赞
O'Neil
1/31/2017
#1
使用 cv::Mat 的成员。如果 cv::Mat 使用外部数据,它应该为 0,否则您可以按如下方式获取 ref 计数器UMatData * u
img.u->refcount
评论
calcHist