OpenCV的Python API是基于Numpy的
1.认识OpenCV的Mat类
在OpenCV中,最核心的类就是Mat,它是Matrix的缩写,代表矩阵和数组的意思,该类的声名在头文件opencv2corecore.hpp中,所以引用Mat类时需要引入该头文件。
Mat的构造函数如下:
Mat(int rows, int cols , int type)
Mat(Size(int cols, int rows), int type) 注意Size这里是先列,然后才是行
//在C++中创建 Mat 类
接下来看一些访问Mat对象中值的代码
//1.利用成员函数at访问
Mat的一些成员函数
1.使用成员函数row(i)或者col(j)获取矩阵的第i行或者第j列
Mat
2.使用成员函数rowRange或者colRange得到矩阵的连续行或者连续列
Mat
3.使用成员函数clone和copyTo
Mat r_range = m.rowRange(2,4).clone();
Mat r_range;
m.rowRange(2,4).copyTo(r_range);
//以上代码都实现了一份拷贝
2.认识Vec
这里的向量可以理解为列向量,Vec函数原型: Vec
//构造一个长度为3,数据类型为int 的列向量
| | 第0列 | 第一列 | | ----- | ------- | ------- | | 第0行 | 1 11 21 | 2 12 22 | | 第1行 | 3 13 23 | 4 14 24 |
3.分离通道与合并通道
OpenCV中提供的split可分离多通道,如将多通道矩阵mm分离为多个单通道,存储在vector中
OpenCV中提供的merge函数可用于将多个单通道矩阵合并为一个三通道的。
//分离
4.c++与Python中读取图像
#include
过两天把数字处理的作业也记录下,本科学的数字图像和研究生学的不是一个层次呀呀呀,老师上课感觉听得懂,课后练习题目一道都不会,还是多亏夸夸群友们让我坚持了几个小时写了下来!!!