GDAL怎么用函数读取12位的图像信息
首先,采用GDAL读取图像:
GDALAllRegister();
GDALDataset *poDataset;
QString filename;
filename=QFileDialog::getOpenFileName(this,tr("Choose Images"),tr("All Fles (*.*)"));
//Open the image
QByteArray ba = filename.toLatin1();
poDataset = (GDALDataset*) GDALOpen( ba.data(),GA_ReadOnly );
其次,成功后,可以获取图像的一些基本信息,如下:
描述信息:
const char* GDALDataset::GetDriver()->GetDescription(),通常是图像的格式;
图像大小:
图像宽度:int GDALDataset::GetRasterXSize();
图像高度:int GDALDataset::GetRasterYSize();
波段数:int GDALDataset::GetRasterCount();
投影信息:GDALDataset::GetProjectionRef(),有的图像没有投影信息;
地理坐标信息:double adfGeoTransform[6] GDALDataset::GetGeoTransform(adfGeoTransform);
波段信息:数据集中重要的信息,有波段尺寸、数据类型、颜色信息等;
获取波段的方法:poBand为指向第i个波段的指针
GDALRasterBand *poBand;
poBand = poDataset->GetRasterBand(i);
波段尺寸:
int poBand->GetXSize();
int poBand->GetYSize();
数据类型:const char* GDALGetDataTypeName(poBand->GetRasterDataType());
颜色信息:const char* GDALGetColorInterpretationName(poBand->GetColorInterpretation());