com.supermap.image.processing

类 ImageMatcher

  • java.lang.Object
    • com.supermap.data.InternalHandle
      • com.supermap.data.InternalHandleDisposable
        • com.supermap.image.processing.ImageMatcher
  • 所有已实现的接口:
    IDisposable


    public final class ImageMatcher
    extends com.supermap.data.InternalHandleDisposable
    影像匹配,通过影像匹配,提取连接点和地面控制点
    • 构造器详细资料

      • ImageMatcher

        public ImageMatcher()
        默认构造函数
      • ImageMatcher

        public ImageMatcher(DatasetImage[] matchImages,
                            Datasource workDatasource)
        带指定待匹配的影像和结果数据源的构造函数
        参数:
        matchImages - 待匹配的影像数据集数组,影像必须带有有效的 RPC 参数
        workDatasource - 结果数据源,用于保存连接点、控制点、以及影像ID
    • 方法详细资料

      • dispose

        public void dispose()
      • getLastError

        public String getLastError()
        获取最新的错误信息
        返回:
        最新的错误信息
      • getMatchImages

        public DatasetImage[] getMatchImages()
        获取所有待匹配的影像数据集
        返回:
        待匹配的影像数据集数组
      • setMatchImages

        public ImageMatcher setMatchImages(DatasetImage[] matchImages)
        设置待匹配的影像数据集
        参数:
        matchImages - 待匹配的影像数据集数组,影像必须带有有效的 RPC 参数
        返回:
        当前对象
      • setMatchImages

        public ImageMatcher setMatchImages(DatasetImage[] matchImages,
                                           DatasetImage[] anchorImages)
        设置待匹配的影像数据集
        参数:
        matchImages - 待匹配的影像数据集数组,影像必须带有有效的 RPC 参数
        anchorImages - 参与匹配的锚点影像,用于增量区域网平差。影像必须带有有效的 RPC 参数。锚点影像只参与连接点匹配,且锚点影像只被“待匹配的影像”匹配,不主动提取连接点。
        返回:
        当前对象
      • setImageAccuracy

        public ImageMatcher setImageAccuracy(ImageAccuracy imageAccuracy)
        设置待匹配影像的初始平面精度等级。用户根据数据的实际情形设置影像初始平面精度等级。

        当设置平面精度为 LOWER 时,将会对影像进行预处理,将影像的的精度校正到15米到30米左右(需要依赖默认参考影像)。 当设置平面精度为 MEDIUM 时,将会对影像进行精度评价,评价出影像平面误差大于等于40像素时,时将会进行预处理(需要依赖默认参考影像), 当设置平面精度为 HIGH 时,将不做预处理。

        参数:
        imageAccuracy - 影像的初始平面精度等级
        返回:
        当前对象
      • getImageAccuracy

        public ImageAccuracy getImageAccuracy()
        获取影像的初始平面精度等级
        返回:
        影像的初始平面精度等级
      • getWorkDatasource

        public Datasource getWorkDatasource()
        获取影像匹配的工作数据源
        返回:
        影像匹配的工作数据源
      • setWorkDatasource

        public ImageMatcher setWorkDatasource(Datasource workDatasource)
        设置影像匹配的工作数据源
        参数:
        workDatasource - 影像匹配的工作数据源
        返回:
        当前对象
      • getWorkDirectory

        public String getWorkDirectory()
        获取影像匹配的工作目录,工作目录用于存在一些临时和调试信息
        返回:
        影像匹配的工作目录
      • setWorkDirectory

        public ImageMatcher setWorkDirectory(String workDirectory)
        设置影像匹配的工作目录,工作目录用于存在一些临时和调试信息
        参数:
        workDirectory - 影像匹配的工作目录
        返回:
        当前对象
      • setCloudMaskDataset

        public ImageMatcher setCloudMaskDataset(DatasetVector datasetCloudMask)
        设置影像匹配的云掩膜数据集,云掩膜将用于过滤一些匹配区域,含云区域将不进行连接点和控制点提取。
        参数:
        datasetCloudMask - 云掩膜数据集,提取云掩膜具体参考 CloudDetector
        返回:
        当前对象
      • getCloudMaskDataset

        public DatasetVector getCloudMaskDataset()
        获取设置的云掩膜数据集
        返回:
        云掩膜数据集
      • getFootprintDataset

        public DatasetVector getFootprintDataset()
        获取设置的影像轮廓数据集
        返回:
        影像轮廓数据集
      • writeNameIndicesToDataset

        public DatasetVector writeNameIndicesToDataset(String outputName)
        将影像 ID 写出到数据集中
        参数:
        outputName - 保存影像ID的结果数据集的名称
        返回:
        结果数据集
      • matchTiePoints

        public DatasetVector matchTiePoints(ImageMatchParameter parameter,
                                            String outputDatasetName)
        生成连接点
        参数:
        parameter - 影像匹配参数
        outputDatasetName - 保存连接点的数据集名称
        返回:
        结果连接点数据集
      • matchGroundControlPoints

        public DatasetVector matchGroundControlPoints(ImageMatchParameter parameter,
                                                      DatasetImage[] referenceImages,
                                                      String outputDatasetName)
        生成地面控制点
        参数:
        parameter - 影像匹配参数
        referenceImages - 参考影像
        outputDatasetName - 结果地面控制点数据集名称
        返回:
        结果地面控制点数据集
      • addSteppedListener

        public void addSteppedListener(SteppedListener l)
        添加进度信息监听对象
        参数:
        l - 进度信息监听对象
      • removeSteppedListener

        public void removeSteppedListener(SteppedListener l)
        移除进度信息监听对象
        参数:
        l - 进度信息监听对象
      • getNameIndices

        public Map<String,Integer> getNameIndices()
        获取影像ID 和影像名称的映射关系
        返回:
        影像 ID 和影像名称的映射关系
      • splitTPMatchTasks

        public List<List<Integer>> splitTPMatchTasks()
        分割连接点匹配任务
        返回:
        连接点匹配任务列表
      • splitTPMatchTasks

        public List<List<List<Integer>>> splitTPMatchTasks(int splitCount)
        分割连接点匹配任务
        参数:
        splitCount - 指定的分割数目
        返回:
        连接点匹配任务列表
      • matchTiePoints

        public DatasetVector matchTiePoints(List<List<Integer>> splitTPMatchTask,
                                            ImageMatchParameter parameter,
                                            String outputDatasetName)
        生成连接点
        参数:
        splitTPMatchTask - 连接点匹配分割任务数组
        parameter - 影像匹配参数
        outputDatasetName - 保存连接点的数据集名称
        返回:
        结果连接点数据集
      • splitGCPMatchTasks

        public List<List<Integer>> splitGCPMatchTasks(DatasetImage[] referenceImages)
        分割控制点匹配任务
        参数:
        referenceImages - 参考影像
        返回:
        控制点匹配任务列表
      • matchTiePoints

        public List<TiePoint> matchTiePoints(ImageMatchParameter parameter)
        生成连接点
        参数:
        parameter - 影像匹配参数
        返回:
        连接点列表
      • matchGroundControlPoints

        public List<GroundControlPoint> matchGroundControlPoints(ImageMatchParameter parameter,
                                                                 DatasetImage[] referenceImages)
        生成地面控制点
        参数:
        parameter - 影像匹配参数
        referenceImages - 参考影像列表
        返回:
        地面控制点列表
      • setIsDisposable

        public static void setIsDisposable(com.supermap.data.InternalHandleDisposable obj,
                                           boolean disposable)

Copyright © 2021–2024 SuperMap. All rights reserved.