网站建设为啥每年都要收费,项目管理软件有哪些优点,做植物网站,公司建的站加油违法吗文章目录 一、赋值二、克隆三、拷贝四、初始化 一、赋值
赋值操作是将一个cv::Mat对象的数据复制到另一个对象中。赋值操作使用的是浅拷贝#xff08;shallow copy#xff09;#xff0c;即两个对象共享相同的数据内存。这意味着对一个对象的修改会影响到另一个对象
cv::M… 文章目录 一、赋值二、克隆三、拷贝四、初始化 一、赋值
赋值操作是将一个cv::Mat对象的数据复制到另一个对象中。赋值操作使用的是浅拷贝shallow copy即两个对象共享相同的数据内存。这意味着对一个对象的修改会影响到另一个对象
cv::Mat src cv::imread(image.jpg); // 加载图像
cv::Mat dst;
dst src; // 执行赋值操作将src的数据复制到dst二、克隆
克隆操作是创建一个新的cv::Mat对象并复制源对象的数据到新对象中。克隆操作使用的是深拷贝deep copy即两个对象具有独立的数据内存。这意味着对一个对象的修改不会影响到另一个对象
cv::Mat src cv::imread(image.jpg); // 加载图像
cv::Mat clone src.clone(); // 克隆操作创建一个新的对象并复制数据三、拷贝
OpenCV中cv::Mat类提供了copyTo函数用于将一个cv::Mat对象的数据复制到另一个对象中并且可以对数据进行一些转换或处理
void cv::Mat::copyTo(OutputArray dst) const;
void cv::Mat::copyTo(OutputArray dst, InputArray mask) const;copyTo函数的行为如下
如果目标dst对象与源对象具有相同的大小和类型则直接将源对象的数据复制到目标对象中。如果目标dst对象与源对象的大小或类型不匹配则会重新分配目标对象的内存并将源对象的数据复制到目标对象中。如果提供了掩码mask则只有满足掩码条件的源数据才会被复制到目标对象中不满足掩码条件的数据将被忽略。
四、初始化
在OpenCV中cv::Mat类提供了两个函数cv::Mat::ones和cv::Mat::zeros用于创建指定大小和类型的全零或全一的矩阵
cv::Mat::ones函数用于创建一个大小为rows x cols的矩阵并且所有元素的值都设置为1 rows和cols是矩阵的行数和列数type是矩阵的数据类型。常用的数据类型包括CV_8U8位无符号整数、CV_32F32位浮点数等
cv::Mat cv::Mat::ones(int rows, int cols, int type);
//rows和cols是矩阵的行数和列数type是矩阵的数据类型。常用的数据类型包括CV_8U8位无符号整数、CV_32F32位浮点数等
cv::Mat onesMat cv::Mat::ones(3, 3, CV_32F);
//onesMat是一个大小为3x3的矩阵所有元素的值都设置为1cv::Mat::zeros函数用于创建一个大小为rows x cols的矩阵并且所有元素的值都设置为0
cv::Mat cv::Mat::zeros(int rows, int cols, int type);
//其中rows和cols是矩阵的行数和列数type是矩阵的数据类型
cv::Mat zerosMat cv::Mat::zeros(3, 3, CV_8U);
//zerosMat是一个大小为3x3的矩阵所有元素的值都设置为0推荐一个零声学院免费教程个人觉得老师讲得不错 分享给大家 C初级课程链接 https://ke.qq.com/course/444655?flowToken1043280 Qt课程链接 https://ke.qq.com/course/444655?flowToken1044614