找回密码
 注册会员
查看: 3969|回复: 0

GDAL合并TIF图片的问题,代码如下,希望高手回答

[复制链接]
发表于 2010-11-19 11:40:22 | 显示全部楼层 |阅读模式
<p>GDAL合并TIF图片的问题,代码如下,希望高手回答</p>
<p><img src="http://img.baidu.com/img/iknow/icn_point.gif"> 悬赏分:20 -</p>
<p>解决时间:2010-11-19 11:36</p>
<p>double        adfGeoTransform[6];</p>
<p>m_GDALDataset = (GDALDataset *)GDALOpen("d:\\1.tif",GA_ReadOnly);</p>
<p>GDALDriver *poDriver = m_GDALDataset->GetDriver();</p>
<p>char **    papszMetadata = poDriver->GetMetadata();</p>
<p>//检测是否支持create函数</p>
<p>/*if( CSLFetchBoolean(papszMetadata,GDAL_DCAP_CREATE, FALSE ) )</p>
<p>AfxMessageBox("支持Create");</p>
<p>if( CSLFetchBoolean( papszMetadata, GDAL_DCAP_CREATECOPY, FALSE ) )</p>
<p>AfxMessageBox("支持CreateCopy");</p>
<p>return;*/</p>
<p>GDALDataset *poDstDS;</p>
<p>poDstDS = poDriver->Create("c:\\1.tif",512,512,m_GDALDataset->GetRasterCount(),GDT_Byte,papszMetadata);</p>
<p>GDALDataset *ptmp = (GDALDataset *)GDALOpen("d:\\2.tif",GA_ReadOnly);</p>
<p>if(poDstDS == NULL)</p>
<p>AfxMessageBox("创建失败!");</p>
<p>//设置图像坐标,缺少这一步,创建的图像用erdas打开将无法正常现实</p>
<p>//double        adfGeoTransform1[6]={0,1,0,0,0,1};</p>
<p>poDstDS->SetGeoTransform(adfGeoTransform);</p>
<p>//要考入的内存</p>
<p>BYTE *ppafScan= (BYTE*)CPLMalloc(sizeof(BYTE)*512*512*m_GDALDataset->GetRasterCount());//new BYTE[512*512*m_GDALDataset->GetRasterCount()];</p>
<p>m_GDALDataset->RasterIO(GF_Read,0,0,512,512,ppafScan,512,512,GDT_Byte,m_GDALDataset->GetRasterCount(),0,3,0,1);</p>
<p>poDstDS->RasterIO(GF_Write,0,0,512,512,ppafScan,512,512,GDT_Byte,m_GDALDataset->GetRasterCount(),0,3,0,1);</p>
<p>问题补充:</p>
<p>为什么合并后的图片一片黑?</p>
<p>提问者: qq727791967 - 四级</p>
<p>最佳答案</p>
<p>ppafScan拷贝数据的位置错误!</p>
<p>0</p>
<p>回答者:</p>
<p>zwt1987814 - 三级   2010-11-19 11:36</p>
<p>我来评论>></p>
<p>提问者对于答案的评价:</p>
<p>谢谢</p>
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|文字版|手机版|小黑屋|襄阳城

GMT+8, 2025-6-23 04:39

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表