多渠道 matrix/array

Multi-channel matrix/array

我最近一直在阅读 openCV 及其 cv::Mat 数据结构。在文档中,作者不断提到多通道阵列和多通道矩阵。谁能给我一个这两个的定义,什么是 "channel"?我试图在 google 上查找,但没有找到类似的内容。

最基本的示例是标准图像。它有一个宽度 (cols)、一个高度 (rows) 和 3 个颜色通道。

Mat myImg = imread("color_picture.jpg");
Vec3b pixel = myImg.at<Vec3b>(y, x);

在这种情况下,myImg 将是一个 CV_8UC3 -- 3 个 8 位无符号整数通道。

我更喜欢使用模板化的class,因为我觉得它更清晰:

Mat_<Vec3b> myImg = imread("color_picture.jpg");
// Or, Mat3b myImg = ...
Vec3b pixel = myImg(y, x);

然后,像素为蓝、绿、红:

uchar blue = pixel[0];