如何使用GDAL进行AOI铃声裁剪器在线使用

用裁剪纹理方法处理大纹理实时交互的研究_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
用裁剪纹理方法处理大纹理实时交互的研究
上传于||文档简介
&&用​裁​剪​纹​理​方​法​处​理​大​纹​理​实​时​交​互​的​研​究
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
下载文档到电脑,查找使用更方便
还剩1页未读,继续阅读
你可能喜欢转:GDAL直接操纵内存中的影像数据的办法
没有一个简单现成的函数可以做到这个,Frank
Warmerdam提示了一种办法,使用“内存文件系统”,但不是通常linux下的那种内存文件系统,而是GDAL自定义的。
首先需要安装一个内存文件处理器
这个特殊的文件处理器可以将一段内存块作为文件处理,这些文件位于"/vsimem/"
目录下(不用找了,在shell下是看不到的),也就是说该目录下的所有文件都被GDAL的内存文件处理器处理。不过目前还不支持目录操作,所以vsimem目录是平的。
可以用那些VSI*L函数创建和销毁内存里的数据,就像是操作文件一样。还有些方法可以高效的创建内存文件:不必拷贝原始的数据,这样同样的数据就不会重复出现在多个地方了;可以将某段内存块关联成“GDAL内存文件系统"中的一个文件。
将内存中的一块二进制影像数据buffer读入到GDALDataset,然后进行各种GDAL操作。
一个例子如下:
影像二进制数据在内存中的位置为pabyInData,数据的长度为nInDataLength,我们为它创建一个内存影像文件work.dat
VSIFCloseL( VSIFileFromMemBuffer( "/vsimem/work.dat",
pabyInData,
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
nInDataLength, FALSE ) );
2. 打开这个内存影像文件,得到一个GDALDataset
GDALDatasetH hDS = GDALOpen( "/vsimem/work.dat", GA_ReadOnly
最后,用完后记得调用下列函数删除内存中的这个文件:
VSIUnlink( "/vsimem/work.dat" );
B.将GDALDataset转换成某种格式(比如GTiff)的二进制影像数据流。一个例子如下
hDS为想输出为二进制数据的GDALDataset
1. 转换成目标数据格式的GDALDataset,这个GDALDataset是建立在“内存影像文件系统”上的
GDALDriverH hDriver = GDALGetDriverByName( "GTiff" );
GDALDatasetH hOutDS= GDALCreateCopy( hDriver, "/vsimem/out.tif",
hDS, TRUE, NULL,
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
NULL, NULL );
hOutDS是一个指针,用完后记得要关闭,不然可能会发生内存泄漏
GDALClose(hOutDS);
2. 调用VSIGetMemFileBuffer函数从内存影像文件中读出二进制数据流
vsi_l_offset&outDataL&&//&读出的二进制数据流的长度放在这个变量里
int&bUnlinkAndSeize&=&TRUE;
GByte&*&binData&=&VSIGetMemFileBuffer("/vsimem/out.tif",&&outDataLength,&bUnlinkAndSeize);&&
vsi_l_offset outDataL
// 读出的二进制数据流的长度放在这个变量里
int bUnlinkAndSeize = TRUE;
GByte * binData = VSIGetMemFileBuffer("/vsimem/out.tif", &outDataLength, bUnlinkAndSeize);
binData为转换后的Gtif格式的二进制影像数据,outDataLength为影像数据的长度
bUnlinkAndSeize为TRUE的意思是,内存影像文件将会被自动删除,所以不必再调用VSIUnlink("/vsimem/out.tif")删除内存影像文件了;如果为FALSE,则会保留内存影像文件。
VSIGetMemFileBuffer函数分配的内存要通过CPLFree函数释放:
CPLFree(binData);&&
CPLFree(binData);
VSI*函数内部会调用安装函数VSIInstallMemFileHandler();这个安装函数一般不需要直接调用,反复调用这个安装函数也没什么害处。
虽然还是原来的文件操作,但实际上是对内存直接操作的,只不过披上文件的外衣而已。
http://www.gdal.org/cpl__vsi_8h.html#66e2e6f093fd42f8a941b962d4c8a19e
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。收藏(68个)
有些时候需要退步,看到真正的东西,反而觉得清新
& 共4页&&nbsp&&nbsp&&nbsp&&nbsp&&nbsp&&nbsp&Gdallearngai 处理遥感影像,读取信 保存成tif格式,任意指定区域裁剪 Special Effects 图形图像
238万源代码下载-
&文件名称: Gdallearngai
& & & & &&]
&&所属分类:
&&开发工具: Visual C++
&&文件大小: 27974 KB
&&上传时间:
&&下载次数: 39
&&提 供 者:
&详细说明:GDAL处理遥感影像,读取信息,保存成tif格式,任意指定区域裁剪-GDAL remote sensing image processing
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&Gdallearngai&&............\11.tif&&............\111.tif&&............\ca0i.tif&&............\cai.tif&&............\Debug&&............\.....\gdal110.dll&&............\.....\Gdallearn.exe&&............\.....\Gdallearn.exp&&............\.....\Gdallearn.ilk&&............\.....\Gdallearn.lib&&............\.....\Gdallearn.pdb&&............\G0.tif&&............\Gdallearn&&............\Gdallearn.ncb&&............\Gdallearn.sln&&............\Gdallearn.suo&&............\.........\Debug&&............\.........\.....\BuildLog.htm&&............\.........\.....\Gdallearn.exe.embed.manifest&&............\.........\.....\Gdallearn.exe.embed.manifest.res&&............\.........\.....\Gdallearn.exe.intermediate.manifest&&............\.........\.....\Gdallearn.obj&&............\.........\.....\Gdallearn.pch&&............\.........\.....\mt.dep&&............\.........\.....\stdafx.obj&&............\.........\.....\vc90.idb&&............\.........\.....\vc90.pdb&&............\.........\Gdallearn.cpp&&............\.........\Gdallearn.vcproj&&............\.........\Gdallearn.vcproj.8LBQ0K3QRFMBEA9.Administrator.user&&............\.........\Gdallearn.vcproj.FenFa-THINK.FenFa.user&&............\.........\out.txt&&............\.........\ReadMe.txt&&............\.........\stdafx.cpp&&............\.........\stdafx.h&&............\.........\targetver.h&&............\jpg.jpg&&............\jpg.jpg.aux.xml&&............\out.txt&&............\out.txt.bak&&............\qd.bmp&&............\tif.tif
&[]:很好,推荐下载
&近期下载过的用户:
&相关搜索:
&输入关键字,在本站238万海量源码库中尽情搜索:
&[] - 利用GDAL实现遥感图像快速显示,利用设备无关位图CBitmap,简单易懂
&[] - 用于两个时相遥感影像的变化检测,采用了GDAL库
&[] - MFCGPS用来根据卫星星历计算任意时刻卫星在WGS84坐标系下的坐标。Foudation of surveying adjustment 用来计算摄影测量中影像外方位元素。Linklists是C++的动态链表,支持任意数据结构,Foudation of Geodesy 是一个用来进行高斯坐标和地理
&[] - 一个很好的使用GDAL读写影像的例子,程序中使用分块读写和多线程,支持海量数据的影像,方便大家使用
&[] - 数字水印加水印去水印数字水印加水印去水印
&[] - GDAL读tiff图像,获取图像大小,波段信息,图像数据,写Tiff图像到固定路径。
&[] - 这是一个基于GDAL库开发的遥感影像处理类,支持近40中影像格式的读写,显示,增强,滤波等
&[] - 遥感图像图像的变化检测,课程设计时写的算法
&[] - 有指导的马尔可夫随机场(MRF)的图像分割代码,是有指导的方式(即用鼠标框出分类样本区域)。采用OpenCV编写。
&[] - 对sar复数二进制格式影像读取,并做几何校正,斑点噪声去除等相关处理

我要回帖

更多关于 gdal 使用 的文章

 

随机推荐