OpenCV 3 - Mat对象介绍

1 Mat对象与IplImage对象

  • Mat对象OpenCV2.0之后引进的图像数据结构、自动分配内存、不存在内存泄漏的问题,是面向对象的数据结构。分了两个部分,头部数据部分
  • lpllmage是从2001年OpenCv发布之后就一直存在,是c语言风格的数据结构,需要开发者自己分配与管理内存,对大的程序使用它容易导致内存泄漏问题 (建议不要使用)

1-1 Mat对象构造函数与常用方法

构造函数
Mat::Mat()
Mat::Mat(int rows, int cols, int type)
Mat::Mat(Size size, int type)
Mat::Mat(int rows, int cols, int type, const Scalar& s)
Mat::Mat(Size size, int type, const Scalar& s)
常用方法 注释
void copyTo(Mat mat) 拷贝Mat(拷贝头部和数据)
void convertTo(Mat dst, int type) 拷贝Mat并指定类型
Mat clone() 拷贝Mat(拷贝头部和数据)
int channels() 查看Mat通道
int depth() 查看Mat的深度
bool empty() 判断Mat是否为空
uchar* ptr(i=0) 获取Mat的指针i表示Mat的行

2 Mat对象使用

2-1 定义Mat对象src

	Mat src;
	src = imread("1.png");
	if (src.empty()) {
   
		return -1;
	

你可能感兴趣的:(OpenCV学习笔记,opencv,人工智能,计算机视觉)