高维的数据无法用opencv直接处理,用imread函数发现也只读取了3维里写一下经验。
其一是读取img或tif等格式的高光谱数据。需要使用GDAL库,我所用的编译器是visual studio2010.可以在下面的链接下载编译好的GDAL库:http://download.csdn.net/download/banach_i/9481657
把下载的三个文件放在所建项目的目录文件夹内(也就是包含*.vcxproj文件的那个文件夹),然后在视图-属性页-配置属性-链接器-输入-附加依赖项中填入gdal_i.lib;%(AdditionalDependencies);
如图:
(https://img-blog.csdn.net/20160405153452789)。接着引用头文件
#include "gdal_include/gdal_priv.h"
include "gdal_include/gdal.h"
代码:`#include “gdal_include/gdal_priv.h”
cv::Mat GDAL2Mat(const char* fileName)
{
GDALAllRegister();
GDALDataset poDataset = (GDALDataset )GDALOpen(fileName,GA_ReadOnly); // GDAL数据集
int Cols = poDataset->GetRasterXSize(); // 列
int Rows