使用gdal库读取图像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用gdal库读取图像相关的知识,希望对你有一定的参考价值。

通过gdal库按一行一行的顺序读入某一波段信息,存入位图的数据区
nXSize,nYSize分别表示高宽

C/C++ code

//建立数据区
LONG LineBytes = (nXsize*8+31)/32*4;
pData= (LPBYTE)new char[LineBytes*nYsize];

poBandBlock= (BYTE*)CPLMalloc(sizeof(BYTE)*(nXsize*1));
//为各像素赋值
for (int i=0; i

//一次读取一行读取
poBand[dlg.Gray]->RasterIO(GF_Read, 0, i, nXsize,
i+1, poBandBlock,nXsize, 1,GDT_Byte, 0, 0);

for (int j=0; j pData[(nYsize-i-1)*LineBytes + j] = poBandBlock[j];


CPLFree(poBandBlock);

但是这样读取,打开图片后,图片第nYSize/2行开始全部显示出错。这是为什么啊?

参考技术A 谷歌了一下,就找到这个还好点,希望能帮到你。

http://wenku.baidu.com/view/f419727d27284b73f2425035.html

参考资料:http://www.gisfoot.com/post/224.html

以上是关于使用gdal库读取图像的主要内容,如果未能解决你的问题,请参考以下文章

从二进制数据流中构造GDAL能够读取的图像数据

如何使用 OGR 库 (GDAL\OGR) 读取 GML 文件?

Python遥感图像处理应用篇(十五):GDAL 读取多光谱数据做归一化处理

Python遥感图像处理应用篇(十五):GDAL 读取多光谱数据做归一化处理

Python遥感图像处理应用篇(十四):GDAL 读取多光谱数据为二维数组并存入csv文件

Python遥感图像处理应用篇(十四):GDAL 读取多光谱数据为二维数组并存入csv文件