高光谱图像可以存储在 cv::mat 中吗?

Can a hyperspectral image be stored in cv::mat?

我知道cv::mat容器可以存储3通道图像,但是容器的数据指针也可以存储多维矩阵。我想知道是否可以将不同的波段存储在多维矩阵中并保留所述波段的颜色通道(即使它们是超出视觉范围的假色)

OpenCV Mat 对象可以是 N 维的。正如 docs for cv::Mat 所示,有多个指定维度的构造函数。

此外,2d 矩阵可以具有多于三个的通道。通道在矩阵的“类型”中编码,因此存在一个宏来为标准矩阵数据类型的许多通道(最多 CV_CN_MAX = 512)创建一个类型,例如uint8(CV_U8C(n)) and fp64 (CV_64FC(n))。我相信每种数据类型都存在宏,但您可以在同一文档页面上专门检查顶部定义的所有宏。