本帖最后由 gisupc 于 2011-01-18 22:23:39 编辑

解决方案 »

  1.   

    GDALDataset *poDataset;//创建数据集
    GDALAllRegister();//注册
    poDataset=(GDALDataset*)GDALOpen(lpszPathName,GA_ReadOnly);//打开遥感图像
    nBands=poDataset->GetRasterCount();//获取波段数
    GDALRasterBand **poBand;//创建波段图像
    poBand=new GDALRasterBand*[nBands];//为波段开辟内存空间
     for(i=0;i<nBands;i++)
     {
      poBand[i]=poDataset->GetRasterBand(i+1);
    poBandlock[i]=new byte[sizeof(byte)*width*height];
      poBand[i]->RasterIO(GF_Read,0,0,width,height,poBandlock[i],
     width,height,GDT_Byte,0,0);//读取波段数据
              }
    这样行么?