以前都是使用Python下的Opencv,numpy的强大矩阵运算似的使用opencv时甚至没有感觉到图像数据的一系列基础操作。但对于C++的Opencv,就不得不考虑数据类型以及定义与赋值等接本操作。
在C++中,Opencv提供了一个Mat类用于存储矩阵数据。
1. Mat类介绍
早期的OpenCV1.0版本,图像是使用IplImage的C语言结构体进行存储的,因此在较老的OpenCV版本教程中常会看到其身影。但是,使用IplImage存在需要用户手动释放的缺点,一旦忘记释放内存的IplImage变量,就会造成内存泄漏的问题。但,新的OpenCV版本早已进入了C++接口,提供了Mat类用于数据存储,它利用了自动内存管理技术进行内存自动释放。
2. Mat类构造与赋值
3. Mat类支持的运算
col row colRange rowRange
4. Mat类元素的读取