前言
最近心血来潮,想具体的去学习一下图像处理,所以报了知识星球的一个OpenCV研习社,将自己每天的学习,分享一下。写个 blog 加深一下知识。
一、函数解析
1、copyTo 、clone、= (图像赋值)
void copyTo( OutputArray m ) const;
参数一:目标矩阵(输出的图片)。 如果在操作之前没有适当的大小或类型,则重新分配。
对于clone 函数我们可以先看一下它的定义,它是一个内联函数,返回值为 Mat,函数体部分调用的还是 copyTo() 函数
inline Mat Mat::clone() const
{
Mat m;
copyTo(m);
return m;
}
虽然都是图像对象的赋值,但是本质上还是有区别的,克隆和复制都是另外开辟的内存空间,而复制是共享同一块内存空间的。
可以根据下图加深理解:
2、Mat::zeros、Mat::ones、Mat::eye(图像创建)
static MatExpr zeros(Size size, int type);
参数一:替代矩阵大小规范大小(cols,rows)。
参数二:创建矩阵类型。
功能:返回指定大小和类型的零数组。
static MatExpr ones(Size size, int type);
参数一:替代矩阵大小规范大小(cols,rows)。