刚刚学习Opencv没多久,网上大部分例子都停留在旧版本,也就是2.1版本之前,引用的头文件还是cv.h,highgui.h,函数名大部分以cv开头,旧版本的例子和经典教材非常多。但是,但是旧版本用起来需要很注意内存的申请和释放,如图片初始化申请的空间,存储轮廓的空间等,处理图片素材不会出太多问题。处理视频素材经常稍不注意内存溢出。有时编程逻辑不清晰出现在嵌套调用,释放就更麻烦了。
个人建议使用时最好统一版本,版本混用会出现很多想不到的BUG。Opencv每次版本更新都会对上一个版本的BUG进行修复,优化算法。所以建议用高一点的版本。我这里用的是2.4.9,比较稳定的一个版本。官方说3.0是最快功能最全的一个版本。
下面记录一些版本转换时对应的函数变化:
1、旧版 cvConvertScale(src, dst, scale, shift);
新版src.convertTo(dst, type, scale, shift);
函数作用:缩放并转换到另外一种数据类型
dst:目的矩阵
type:需要的输出矩阵类型,或者更明确的,是输出矩阵的深度,如果是负值(常用-1)则输出矩阵和输入矩阵类型相