Java opencv中单通道或多通道阵列的定义

Java opencv中单通道或多通道阵列的定义,java,arrays,opencv,Java,Arrays,Opencv,我的朋友们,大家好。首先,我已经知道java,所以我想我会坚持下去,但无论如何。我正在创建一个面部识别程序,我刚刚开始使用opencv。我正在学习“垫子”这门课以及它的含义,这里是定义 Mat类表示n维密集数值单通道或多通道阵列。它可用于存储实值或复数向量和矩阵、灰度或彩色图像、体素体积、向量场、点云、张量、直方图 我试图了解单通道或多通道阵列的含义,但由于任何原因,我无法在网上找到信息。你能给我解释一下这个概念吗?也许可以链接一些有用的网站 谢谢你,Mattia(又名DJack)直接从@Dan

我的朋友们,大家好。首先,我已经知道java,所以我想我会坚持下去,但无论如何。我正在创建一个面部识别程序,我刚刚开始使用opencv。我正在学习“垫子”这门课以及它的含义,这里是定义

Mat类表示n维密集数值单通道或多通道阵列。它可用于存储实值或复数向量和矩阵、灰度或彩色图像、体素体积、向量场、点云、张量、直方图

我试图了解单通道或多通道阵列的含义,但由于任何原因,我无法在网上找到信息。你能给我解释一下这个概念吗?也许可以链接一些有用的网站


谢谢你,Mattia(又名DJack)

直接从@Dan Mašek的评论中解决你的问题:

频道数表示:

使用多少值来表示单个元素(例如图片中的像素)。例如,灰度图像用1个值(强度)表示每个像素,因此它将存储为单通道矩阵。RGB图像需要3个值(红色、绿色和蓝色),因此它需要一个3通道垫。RGBA每像素有4个值,因此有4个通道图像


单通道或多通道可以通过简单的日常生活示例来理解。 假设你有两片长方形的面包

将第一块面包垂直放在地板上(面包站在一边)。 从上面看,你会发现只有一个频道

同样,以同样的方式放置第二片面包,但与第一片面包平行(与水平面平行)

现在再次从顶部看,这次你会看到两片面包,这代表2通道矩阵

这是一个3通道8位无符号整数。 此数组由包含3个元素的元组组成。 例如: {54,0.34}-第一元组 {58,78185}-第二元组,依此类推。
但是在单通道矩阵中,您只能得到一个元素。与58、78等类似。

通道数表示使用多少个值来表示单个元素(例如图片中的像素)。例如,灰度图像用1个值(强度)表示每个像素,因此它将存储为单个通道
Mat
。RGB图像需要3个值(红色、绿色和蓝色),因此它需要一个3通道
Mat
。RGBA每像素有4个值,所以有4个通道图像。所以,你能在线给我链接一些信息吗?因为我只能设法找到关于“微”阵列(关于单通道和多通道)的信息。我不知道该指向哪里,我是根据经验说的。这都是关于抽象的。在底部,只有一个值的线性数组。由于OpenCV主要是图像处理,考虑到图像的二维性,将图像抽象为二维矢量阵列更为方便。大小保持不变(2维),只有通道数改变。这可能会有帮助: