opencv Mat容器多通道数据存放方式

1、代码演示

#include
#include
using namespace std;
using namespace cv;
int main() {
	Mat E= cv::Mat::eye(4, 4, CV_8UC(3));
	cout << "E=" << endl << E << endl;
	waitKey(0);
	return 0;
}

E=
[  1,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0;
   0,   0,   0,   1,   0,   0,   0,   0,   0,   0,   0,   0;
   0,   0,   0,   0,   0,   0,   1,   0,   0,   0,   0,   0;
   0,   0,   0,   0,   0,   0,   0,   0,   0,   1,   0,   0]

这是一个4行4列3通道的一个矩阵

对于多通道图像,列包含与通道数一样多的子列。

RGB三通道的存放方式如上所示,行是从上往下,列数是每个通道的第一列组成一组。

所以E的第一个通道为

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

第二个通道为:

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

第三个通道为

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

你可能感兴趣的:(opencv学习,opencv)