Mat是opencv中最基本的container,一般图片数据都存储在Mat中。使用Mat存储图片,copy时只是Mat的header,这样就能节省内存。copy图片的api有:
cv::Mat::clone() and cv::Mat::copyTo()。
一:图片存储方式
1. RGB(或BGR)是最常见的存储方式。
2. HSV和HLV: hue, saturation
/ luminance , value.
3. YCrCb: 一般jpeg的格式
4. CIE L*a*b*
二:Mat初始化
2. cv::Mat::create function: M.create(4,4, CV_8UC(2));
3. MATLAB style initializer: cv::Mat::zeros , cv::Mat::ones , cv::Mat::eye : Mat E = Mat::eye(4, 4, CV_64F);
4. comma separated initializers: Mat C = (Mat_<double>(3,3) << 0, -1, 0, -1, 5, -1, 0, -1, 0);
三