09/26
14:15
IT OpenCV

opencv 获取 ROI 时没有 clone 引发的内存泄漏

在图像上获取一个 roi 区域

cv::Mat roi = img(rect);

如果roi没有被及时释放,这个操作会使得 img 也无法被释放,因此会导致内存泄漏。
之前因为贪图节省 clone 这一段小时间而不使用 clone,导致了程序引发内存泄漏,而且这个错误很难被排查到。
保险的用法就是在任何时刻都加上 clone

cv::Mat roi = img(rect).clone();

发表评论