3
我一直在阅读有关openCV最近和它的cv::Mat
数据结构。在文档中,作者不断提及多通道阵列和多通道矩阵。有人能给我一个这两个的定义,什么是“通道”?我试图找到谷歌,但没有发现类似的东西。多通道矩阵/阵列
我一直在阅读有关openCV最近和它的cv::Mat
数据结构。在文档中,作者不断提及多通道阵列和多通道矩阵。有人能给我一个这两个的定义,什么是“通道”?我试图找到谷歌,但没有发现类似的东西。多通道矩阵/阵列
最基本的例子是标准图像。它有一个宽度(cols
),一个高度(rows
)和3个颜色通道。
Mat myImg = imread("color_picture.jpg");
Vec3b pixel = myImg.at<Vec3b>(y, x);
在这种情况下,myImg
将是一个CV_8UC3
- 8位无符号整数3频道。
我更喜欢用模板类,因为我觉得它更清楚:
Mat_<Vec3b> myImg = imread("color_picture.jpg");
// Or, Mat3b myImg = ...
Vec3b pixel = myImg(y, x);
然后,像素是蓝色,绿色,红色:
uchar blue = pixel[0];
如果你有你有一个二维矩阵宽*高ELEMENTS。如果每个元素都是单个值,那么您只有一个通道矩阵。如果每个元素具有多个值,则矩阵具有多个通道。单通道矩阵的示例是灰度图像(每个像素1个强度值),例如多通道矩阵是RGB图像(每个像素是3个值) – Micka