C++调用gdalwarp.exe进行几何校正

利用GDAL进行多项式几何校正校正新思路 从网上查看很多关于几何校正的代码,不过好像基本上都差不多,下载下来调试基本上都是说说而已,根本没法真正做到几何校正的目的。好多人也在怀疑GDAL到底能不能做几何精校正,经过自己的努力,我发现,其实只要稍微改一下,GDAL完全可以做到多项式几何精校正的,在此跟大家分享下思路,也希望大牛们有更好的方法的话共享下。        首先说一下最简单的几何校正模型---仿射校正模型(叫法可能不对,大家明白 阅读详情

GDAL提供的gdalwarp.exe可以纠正有控制点信息和rpb文件的原始遥感影像,可以直接在命令行中调用,也可以在C++中调用,或者在Qt中使用界面传递参数。如果需要投影需要使用"-t_srs " + WKT格式的投影信息输出带有投影信息的校正影像。GDAL默认重采样为线性内插,可以通过-r  \" bilinear\"设置重采样方式,-multi为使用多线程校正,这在校正多幅影像时比较有用。

#include <iostream>
using namespace std;
void main(int argc, char* argv[])
{
    argv[1] = "C:\\Users\\Desktop\\test.tiff";
    argv[2] = "C:\\Users\\Desktop\\rpc.tiff";
    string srcFullPath = argv[1];
    string outPath = argv[2];
    string GDALWARP_EXE = "C:\\Users\\Desktop\\apps\\gdalwarp.exe";
    string arguments = "--config GDAL_FILENAME_IS_UTF8 NO -rpc -r \"bilinear\" -multi " + srcFullPath + " " + outPath;
    cout << "开始校正......" << endl;
    char s[1000];
    sprintf_s(s, "%s %s", GDALWARP_EXE.c_str(), arguments.c_str());
    system(s);
    cout << "校正完成!" << endl;
}

 

其效果如下:

Cesium与UE5离线地形开发实战:从数据到部署的全链路指南 三维地理信息系统(GIS)与数字孪生技术的核心在于对大规模真实世界地形的高效可视化。其原理基于地理空间坐标系(如WGS84)与动态流式加载技术,通过将海量地形数据预处理并切割为多细节层次(LOD)瓦片,实现根据视点动态加载,从而在有限硬件资源下渲染全球范围场景。这项技术的价值在于摆脱了对网络在线服务的依赖,能够在专网、内网乃至单机环境下,为城市规划、军事仿真、应急指挥等应用提供高保真、可交互的三维地理基底。在具体工程实践中,Cesium for Unreal插件扮演了关键角色,它无缝桥接了Cesium成熟的 阅读详情

相关推荐

c++实现影像重采样

c++实现影像重采样

qq_42581413的博客 1072

基于Python GDAL库实现图像的几何校正详细教程

基于Python GDAL库实现图像的几何校正详细教程

晚来天欲雪,能饮一杯无? 4514

GDAL+Python实现栅格影像处理之重采样

GDAL+Python实现栅格影像处理之重采样重采样概念使用方法代码实现效果展示 由于项目需要,所以使用到了GDAL框架,项目中未使用到GDAL关于图像处理部分的算法接口,所以近期学习总结一下。GDAL支持Python、c++、c、c# 、java。其中接口大同小异,主要是学习其中思路和方法,此处采用Python编写代码实现该功能。 重采样概念 重采样是从高分辨率遥感影像中提取出低分辨率影像的过程...

m0_38051293的博客 1万+

GDAL 几何矫正

一、概述 遥感影像和地理坐标进行关联的方式一般有好几种,一种是直接给出了仿射变换系数,即6个参数,左上角地理坐标,纵横方向上的分辨率,以及旋转系数。在这种情况下,求出某一像素点的地理坐标非常容易,直接用公式可以求出,具体代码如下: void CPL_STDCALL GDALApplyGeoTransform(double *padfGeoTransform, double dfPixel, double dfLine,

fb_help的专栏 2065

GDAL一次多项式进行几何纠正

用代码说明一切!!! static int CreateGCPsList( const char * pszGCPsFilename, GDAL_GCP *pasGCPs ); static void DestoryGCPs( int nGCPCount, GDAL_GCP *pasGCPs ); static int GCPTransformToGeoTransform

宁静以致远 4749

C++使用gdalwarp的三种方式

C++使用gdalwarp的三种方式1、直接调用gdalwarp.exe工具2、从2.0开始可以在代码中调用gdalwarp3、使用gdalwarp api调用(这一部分还没看懂) 项目中处理遥感影像的时候,需要对影像做一系列的预处理操作,gdal提供了gdalwarp工具可以支持影像的几何校正、投影转换、切割、冲投影等操作。本文总结了在实际工程项目中使用gdal调用gdalwarp工具时遇到的问...

zhaoguanhua的博客 4462

基于CesiumForUnreal构建离线数字孪生:从数据获取到本地部署全流程

数字孪生技术通过创建物理实体的虚拟映射,在智慧城市、工业仿真等领域发挥着关键作用。其核心原理在于多源数据融合与实时三维可视化,技术价值体现在提升决策效率、实现预测性维护和优化系统性能。在应用场景中,网络不稳定、数据安全或定制化需求常要求离线环境部署。本文聚焦于利用CesiumForUnreal与虚幻引擎的集成能力,结合卫星影像、高程数据等地理空间信息,构建不依赖在线服务的本地化数字孪生解决方案。通过数据获取、坐标转换、切片生成到引擎集成的完整流水线,实现高保真三维场景的独立运行与部署,为地下设施、偏远矿区等

weixin_30475039的博客 423

C++中使用GDALWarp的三种方法

本文介绍了三种常用的C++中使用GDALWarp的方法,包括基本使用方法、结合GDALDataset类使用方法和结合GDALRasterBand类使用方法。通过这三种方法,我们可以对地理数据进行重投影、剪裁、合并等操作,实现更灵活的地理数据处理。然后,我们遍历所有波段,对每个波段创建GDALWarpOptions结构体,并设置其属性,其中hSrcDS和hDstDS分别对应原始数据集和目标数据集,panSrcBands和panDstBands分别为源波段和目标波段。

HackVibe的博客 634

GDAL库(c++版)栅格API教程

** 栅格API教程 ** 1. 打开文件 在打开GDAL支持的栅格数据存储之前,必须注册驱动程序。每个支持的格式都有一个驱动程序。通常这是通过 GDALAllRegister() 函数,该函数尝试注册所有已知的驱动程序,包括使用 GDALDriverManager::AutoLoadDrivers() . 注册,申请应调用独立 GDALOpen() 函数打开数据集,传递数据集的名称和所需的访问权限(GA_ReadOnly只读或GA_Update)。 #include "gdal_priv.h" #incl

qq_41342446的博客 5879

几何校正源代码

该代码,利用GDAL 1.4.2库实现遥感图像的几何校正、图像配准等,vs 2010实现。

gdal控制点校正图像

主要利用图像控制点校正卫星遥感图像,主要为开源技术的体现

C++ +GDAL计算遥感影像植被指数

几种常见植被指数 NDVI(归一化植被指数):NDVI=(NIR-R)/(NIR+R),或两个波段反射率的计算。 NDVI的应用:检测植被生长状态、植被覆盖度和消除部分辐射误差等; 2.-1<=NDVI<=1,负值表示地面覆盖为云、水、雪等,对可见光高反射;0表示有岩石或裸土等,NIR和R近似相等;正值,表示有植被覆盖,且随覆盖度增大而增大 3.NDVI的局限性表现在,用非线性拉伸的方式增强了NIR和R的反射率的对比度。对于同一幅图象,分别求RVI和NDVI时会发现,RVI值增加的速度高

weixin_46509880的博客 3596

RPCandGCP影像校正_GDAL二级纠正_forgottenam4_控制点校正_影像纠正_

GDAL影像纠正,C++程序利用GDAL拼接或者利用GC地面控制点纠正影像。

GDAL Warp重投影重采样

对于栅格数据的重投影可以使用Warp来实现 Warp(destNameOrDestDS, srcDSOrSrcDSTab,**kwargs) destNameOrDestDS是数据集变量或者新保存的目标文件地址。 srcDSOrSrcDSTab可以是源数据集或文件名,即被重投影的数据集,也可以是包含了若干数据集或文件名的一个array。 kwargs关键字参数是可以是一个WarpOptions对象,也可以是一个字符串数组,包含了WarpOptions的若干条件,具体内容与WarpOptions的参数一致。如

weixin_42069384的博客 2539

在MacBook M1/M2上,手把手教你打包包含嵌入模型的RagFlow Docker镜像(避坑指南)

本文详细指导如何在MacBook M1/M2上构建ARM64架构的RagFlow Docker镜像,涵盖环境准备、依赖处理、镜像构建及性能优化全流程。特别针对Apple Silicon芯片的兼容性问题提供解决方案,帮助开发者高效完成本地开发环境搭建。

weixin_26908317的博客 241

Unity游戏开发:从零开始适配Nintendo Switch的完整指南

本文详细介绍了如何使用Unity进行Nintendo Switch游戏开发的完整流程,包括开发环境搭建、Unity工程适配、手柄与硬件特性开发、存储与性能优化等关键步骤。特别强调了Switch SDK的配置、输入系统改造和内存优化技巧,帮助开发者高效完成跨平台适配。

vodka的博客 1068

GDAL的GDALWarpOptions结构体设置

GDAL的GDALWarpOptions结构体设置可以通过头文件很容易查阅到,但是里面第一个变量char **papszWarpOptions;

静以修身,简以养德 1240

ESP32-BLE学习1-建立简单的server

start 学习之前,我想尝试使用ESP32的demo建立一个简单的server与手机接进行最基本的数据通信。 这里有BLE的简单讲解BLE资料 因为BLE的连接是具有主从机特性的,就像SPI,USB一些请求只能由主机端发起,连接也需要主机端发起。所以手机要想连上ESP32,就得将ESP32设置为从机模式。 从资料上可以看到,从机端通过Notify通知主机,所以从机就是GATT Server。 在进行ESP32 的demo学习之前,得大体看下ESP32的蓝牙组成,ESP32支持经典蓝牙和低功耗蓝牙4.2,

Spark的博客 1841

利用GDAL实现影像的几何校正

一、概述    遥感影像和地理坐标进行关联的方式一般有好几种,一种是直接给出了仿射变换系数,即6个参数,左上角地理坐标,纵横方向上的分辨率,以及旋转系数。在这种情况下,求出某一像素点的地理坐标非常容易,直接用公式可以求出,具体代码如下:void CPL_STDCALL GDALApplyGeoTransform(double *padfGeoTransform,

心如止水-GISer的成长之路 2万+

0欧电阻、电感、磁珠单点接地时有什么区别?

0欧电阻、电感、磁珠单点接地时有什么区别? #电阻,#电感,#磁珠 一、0欧姆电阻 重点介绍:模拟地和数字地单点接地。 只要是地,最终都要接到一起,然后入大地。如果不接在一起就是“浮地”,存在压差,容易积累电荷,造成静电。地是参考0电位,所有电压都是参考地得出的,地的标准要一致,故各种地应短接在一起。 人们认为大地能够吸收所有电荷,始终维持稳定,是最终的地参考点。虽然有些板子没有接大地,但发电厂是接大地的,板子上的电源最终还是会返回发电厂入地。如果把模拟地和数字地大面积直...

FAguangdeer的博客 445

二叉树的操作之统计二叉树中节点的个数

一,问题描述 给定一颗二叉树,已知其根结点。 ①计算二叉树所有结点的个数 ②计算二叉树中叶子结点的个数 ③计算二叉树中满节点(度为2)的个数   二,算法分析 找出各个问题的基准条件,然后采用递归的方式实现。 ①计算二叉树所有结点的个数 1)当树为空时,结点个数为0,否则为根节点个数 加上 根的左子树中节点个数 再加上 根的右子树中节点的个数 借助遍历二叉树的思路,每访问一个结...

weixin_34200628的博客 4567

gdal进行几何校正代码

网上找了一个GDAL几何矫正工程RasterRectifier.rar, 里面有错误,修改后代码如下:主要是一个类,其实就是一个函数; 代码如下://////////////////////////////////////////////////////////////////////////////#include "./include/gdal.h"class CRec

zhoubl668的专栏:远帆,梦之帆! 6079

3篇1章6节:R基础绘图之图形的保存和导出技巧

高质量图形导出是R语言用户在数据分析和科研工作中的重要技能。通过合理控制图形的分辨率、选择合适的颜色管理方案和文件格式,以及掌握批量保存图形的技巧,可以显著提升图形的展示效果和应用范围。这不仅有助于提高研究成果的展示质量,还能在各种专业场合中展现数据分析的精确性和美观性。

MD Code 1480

使用GDAL库中的RPC校正问题

最近将GDAL库更新至1.11版本之后,发现之前写的RPC像方改正模型校正的结果偏差特别大(更新版本之前结果和PCI处理的结果一致)。所以初步判断是GDAL库的bug,经过各个参数修改发现原来是指定的DEM采样方式导致的。 当指定DEM的采样方式为最邻近时,校正结果偏差很大,当DEM采样方式为双线性采样和三次立方卷积采样时,处理的结果与之前的结果一样。截图如图1所示,红色区域为对比区域,如图2所示

GDAL专栏 8814

Smart PLC高速脉冲输入计米轮模块(编码器测速/计米详细讲解)

线缆行业单绞机PLC控制算法详细解读可以参看下面的文章链接:线缆行业单绞机控制算法(详细图解+代码)_RXXW_Dor的博客-优快云博客在了解单绞机之前需要大家对收放卷以及排线控制有一定的了解,不清楚的可以参看下面几篇博客,这里不再赘述,受水平和能力所限,文中难免出现错误和不足之处,诚恳的欢迎大家批评和指正。PLC张力控制(开环闭环算法分析)_RXXW_Dor的博客-优快云博客_plc闭环控制实例。SMART PLC时间间隔定时器应用(高速脉冲测频/测速)_RXXW_Dor的博客-优快云博客。

RXXW_Dor的博客 2819

【图像去噪】论文复现:超分思想助力荧光显微图像自监督去噪!N2SR的Pytorch源码复现,图文详细教程跑通源码,框架结构原理示意图与代码对应,注释详细,补充三个实用功能代码!

论文题目:Noise2SR: Learning to Denoise from Super-Resolved Single Noisy Fluorescence Image —— Noise2SR:从超分辨率单噪声荧光图像中学习去噪【图像去噪】论文精读:Noise2SR: Learning to Denoise from Super-Resolved Single Noisy Fluorescence Image(N2SR)N2SR框架结构和原理都比较简单,创新点是加入超分,有很多类似的自监督框架;

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 631
上一篇: qt保留两位小数
下一篇: Ping程序实现
之乎者也哦
博客等级 码龄8年 7165粉丝 72原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值