【卫星影像三维重建】有理函数模型库-rpcm

1.介绍

1.1 卫星成像模型

卫星遥感影像的成像模型是描述影像与地面之间的几何成像关系,成像模型分为严格传感器模型和通用传感器模型。

  1. 严格传感器模型描述了影像和地面之间严格的几何成像关系,参数具有可理解的物理意义,但其形式复杂且与传感器类型有关,出于技术保密其物理参数一般不被提供;
  2. 有理函数模型作为通用传感器模型,是用于近似描述影像和地面之间的几何成像关系,其物理参数不具有可理解的物理意义,与传感器类型无关,是一种通用的卫星影像成像模型,卫星厂商一般提供有理函数模型(RFM)。

1.2 rpcm库

rpcm库是一个用于表示有理函数模型成像有关的库,主要具有如下功能

名称 说明
projection(投影) 将空间点(lon,lat,z)投影到图像上,得到图像的像素坐标(x,y)
localization(定位) 已知图像上的点(x,y)以及高程点z,定位得到空间点的经纬度坐标
crop(裁剪) 指定裁剪的经纬度坐标点集 ,裁剪影像对应区域
footprint 以geojson格式输出图像的经度、纬度范围
angle 输出两个影像的成像夹角

2.安装

2.1 依赖库

(1)依赖库原本有5个,numpy用于影像数组计算,pyproj表示投影的库,geojson表示经纬度存放格式库,rasterio表示卫星影像读取显示的库(gdal库的某些功能的高度封装),srtm4库主要获取指定区域的90m的数字高程;
(2)srtm4依赖太多,需要在linux安装,这里去掉以及在源码中涉及srtm4库的都替换掉,这样是可以在windows下用源码安装。

requirements = ['numpy',
                'pyproj',
                'geojson',
                'rasterio[s3]>=1.2',
                ]#'srtm4>=1.0.2'

2.2 安装

(1)PyPi库安装:pip install rpcm
(2)源码安装:注意windows下安装需要注释掉srtm4库的地方

git clone https://github.com/centreborelli/rpcm.git
cd rpcm
pip install -e .

3.用法

两种使用方法:(1)导入到python脚本文件中使用;(2)在命令行界面操作。以下以命令行界面为例,演示rpcm的5个主要功能。
以命令行的rpcm使用说明:

rpcm -h

在这里插入图片描述

3.1 投影

查看rpcm的projection在命令行界面的使用说明

rpcm projection -h

在这里插入图片描述

3.2 定位

查看rpcm的localization在命令行界面的使用说明

rpcm localization -h

在这里插入图片描述

3.3 影像裁剪crop

3.3.1 使用说明

查看rpcm的影像裁剪crop在命令行界面的使用说明

rpcm crop -h

在这里插入图片描述

3.3.2 具体使用

3.4 footprint

查看rpcm的影像覆盖的经纬度范围footprint在命令行界面的使用说明

rpcm footprint -h

在这里插入图片描述

3.5 angle影像的成像夹角

查看rpcm的影像之间的夹角angle在命令行界面的使用说明

rpcm angle -h

在这里插入图片描述

4.参考

(1)此博文在windows下安装rpcm,本人没尝试过,回头试试rpcm安装
(2)rpcm的源码文件解析(TODO)
(3)rpcm的实验数据以及实验结果补充(TODO)
(4)rpc有理函数原理及相应的有理函数文件解析(xml,txt,rpb)TODO

相关推荐

  1. OpenCV中的模块三维重建-SFM

    2024-03-30 16:54:01       34 阅读
  2. 使用C++调用PCL实现三维重建示例

    2024-03-30 16:54:01       25 阅读
  3. OpenCV中的模块三维重建-SFM(2)

    2024-03-30 16:54:01       34 阅读
  4. 人脸三维重建调研

    2024-03-30 16:54:01       56 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-30 16:54:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-30 16:54:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-30 16:54:01       82 阅读
  4. Python语言-面向对象

    2024-03-30 16:54:01       91 阅读

热门阅读

  1. 如何跟老板汇报工作

    2024-03-30 16:54:01       39 阅读
  2. jenkins

    jenkins

    2024-03-30 16:54:01      33 阅读
  3. 展锐平台camera添加底层水印

    2024-03-30 16:54:01       34 阅读
  4. Chrome base 库详解:工具类和常用类库

    2024-03-30 16:54:01       38 阅读
  5. C++ set 常用部分

    2024-03-30 16:54:01       41 阅读
  6. 机器学习 - 创建一个PyTorch classification model

    2024-03-30 16:54:01       51 阅读