近期编译了android下支持opencl的opencv,使用opencl能力的关键是用cv::UMat替换cv::Mat. 实际使用后发现坑很多,非常不成熟,不推荐使用这种方式来提升实际产品的性能. 每个UMat产生的时候会从gpu分配内存,而GPU分配内存是很慢的:使用Mat的时候,这点开销不值得一提,但是UMat完全不是一回事.因此,UMat一定一定要重用,避免反复分配. mat.getUMat()方法很多坑,引用计数的错误很难查,至今没搞明白原理.因此一直用mat.copyTo(umat…