

OTB Quickstart¶
ORFEO工具箱库(OTB)是一个用于遥感图像处理的高性能库。
此快速入门介绍了如何:
- 从映像获取元数据信息
- 在图像带之间执行数学运算
- 使用Monteverdi应用程序打开栅格图像,执行分割(均值偏移聚类)并可视化结果。
- 基于支持向量机算法进行监督分类
OTB应用程序提供了许多有趣的工具,这些工具有助于图像的操作。所有这些工具可通过以下方式获得:
- CLI(命令行界面)。所有应用程序都可以从终端调用 otbcli_ 加上应用程序名。
- GUI(Qt中的独立图形用户界面)。可以从具有别名的终端调用应用程序 otbgui_ 加上应用程序名。另一个选择是使用一个小的启动器(在
)- QGIS插件-可通过处理框架获得。
- 此快速启动中使用的示例数据可在以下位置找到:
- /home/user/data/north_carolina/rast_geotiffs
在图像中显示元数据信息¶
可以使用以下命令获取图像中包含的所有元数据信息: otbcli_ReadImageInfo 唯一参数是输入图像文件名,例如:
otbcli_ReadImageInfo -in ortho_2001_t792_1m.tif
图像波段计算器¶
这个 otbcli_otbBandMath 提供了一种在图像带上执行数学运算的有效方法。语法相当简单。例如用基板两条带来研究图像上的差异 lsat7_2002_10.tif 和 lsat7_2002_20.tif ,只需使用命令:
otbcli_BandMath -il lsat7_2002_10.tif lsat7_2002_20.tif -out difference.tif -exp "im1b1-im2b1"
该应用程序能够对图像执行复杂的数学运算(阈值、对数重缩放等)。这个自制的数字计算器还与自定义函数捆绑在一起,允许您计算完整的表达式。例如,当遥感图像测量物理值时,可以提取几个具有物理意义的指数,例如植被的NDVI(归一化差异植被指数)。使用计算器,您可以计算多光谱传感器图像上的NDVI,方法是:
otbcli_BandMath -il lsat7_2002_30.tif lsat7_2002_40.tif -out ~/ndvi.tif -exp "ndvi(im1b1,im2b1)"
文件 lsat7_2002_30.tif 对应于陆地卫星7号红色通道, lsat7_2002_40.tif 相当于近红外线。
然后,可以使用以下命令可视化输入图像和结果:
monteverdi lsat7_2002_30.tif lsat7_2002_40.tif ~/ndvi.tif
基于像素的分类¶
应用框架中的分类提供了一个有监督的像素级分类链,基于对多幅图像的学习,并使用特定的机器学习方法,如SVM、Bayes、KNN、随机森林、人工神经网络等。请参阅的应用程序帮助 TrainImagesClassifier 有关所有分类器的更多详细信息。它通过流媒体和多线程支持巨大的图像。分类链根据每个像素的强度作为特征执行训练步骤。请注意,所有的输入图像必须有相同数量的波段可比较。
要发现此应用程序,可以使用以下命令:
otbgui_TrainImagesClassifier
执行分段¶
OTB Segmentation 应用程序允许使用不同的算法生成栅格分割输出,并通过生成可以在GIS软件中导入的矢量输出来扩展到大型栅格。应用程序中有四种分割方法:
- 均值漂移
- 流域(ITK实施)
- 连接的组件
- 形态剖面
可以使用以下命令测试分段:
- 多通道红绿蓝NIR图像的制作
otbcli_ConcatenateImages -il lsat7_2002_30.tif lsat7_2002_20.tif lsat7_2002_10.tif lsat7_2002_40.tif -out ~/lsat7_rgbn.tif
- 应用分段
otbcli_Segmentation -in ~/lsat7_rgbn.tif -filter meanshift -mode raster -mode.raster.out ~/segmentation.tif
- 生成颜色而不是标签
otbcli_ColorMapping -in ~/segmentation.tif -out ~/segmentation_colored.tif -method image -method.image.in ~/lsat7_rgbn.tif
此外,该应用程序可以在两种不同的模式下工作:
栅格模式:允许您分割一个小图像,并生成一个栅格,其中每个分割组件都标有一个唯一的整数
矢量模式:分割较大的图像并生成一个矢量文件,其中每个分段都由一个多边形表示
OTB还包括一个框架来执行非常大的图像的分片分割,理论上保证得到与没有平铺的图像相同的结果 LSMS.
用OTB开发¶
如果您想使用OTB库并在OSGeoLive中编译C++代码,则需要:
- 安装开发包 libotb-dev 和 libqt4-dev .
- 检查一下 克苏 已安装。
应自动找到OTB_DIR位置(通常在 /usr/lib/x86_64-linux-gnu/cmake/OTB-... ). 在CMake配置中,应该链接变量OTB_libraries中的库。
更多信息可在软件指南中找到。