跳转到主要内容

一个用于将照片与相同场景的数据库图像注册的Python模块

项目描述

请参阅模块API页面

https://engineering.purdue.edu/kak/distICP/ICP-2.1.1.html

以获取有关此模块的所有信息,包括有关代码最新更改的信息。上述URL显示的页面列出了您可以在自己的代码中调用的所有模块功能。关于2.1.0版新增的功能,该页面还描述了如何在使用从运动中收集的数据合成的图像(如使用推扫相机进行地球观测卫星,以及在某些情况下,使用无人机记录的图像)时,在扫描模式下使用ICP算法。

版本2.1.1修复了在扫描模式下使用ICP时,对于非正方形子图像数组出现的错误。

版本2.1.0引入了一个新的ICPImageScanner类,允许ICP算法以扫描模式调用子图像基于的ICP注册大型模型和数据图像。此版本还包括修复模块与Pillow库的较新版本一起工作的错误。此外,此版本还包括一个构造函数选项,用于指定显示结果所需的字体文件。

版本2.0是符合Python 3.x规范的ICP模块版本。此版本应与Python 3.x和Python 2.7兼容。

一个应用场景可能是使用无人机搭载的相机记录的图像与GIS(地理信息系统)数据库中提取的图像进行配准。

使用基于边缘的ICP时,颜色或灰度图像的典型使用语法

import ICP
icp = ICP.ICP(
           binary_or_color = "color",
           corners_or_edges = "edges",
           auto_select_model_and_data = 1,
           calculation_image_size = 200,
           max_num_of_pixels_used_for_icp = 300,
           pixel_correspondence_dist_threshold = 20,
           iterations = 24,
           model_image =  "SydneyOpera.jpg",
           data_image = "SydneyOpera2.jpg",
         )
icp.extract_pixels_from_color_image("model")
icp.extract_pixels_from_color_image("data")
icp.icp()
icp.display_images_used_for_edge_based_icp()
icp.display_results_as_movie()
icp.cleanup_directory()

以下是使用基于角像素的ICP的示例语法

import ICP
icp = ICP.ICP(
           binary_or_color = "color",
           corners_or_edges = "corners",
           calculation_image_size = 200,
           image_polarity = -1,
           smoothing_low_medium_or_high = "medium",
           corner_detection_threshold = 0.2,
           pixel_correspondence_dist_threshold = 40,
           auto_select_model_and_data = 1,
           max_num_of_pixels_used_for_icp = 100,
           iterations = 16,
           model_image =  "textured.jpg",
           data_image = "textured2.jpg",
        )
icp.extract_pixels_from_color_image("model")
icp.extract_pixels_from_color_image("data")
icp.icp()
icp.display_images_used_for_corner_based_icp()
icp.display_results_as_movie()
icp.cleanup_directory()

使用该模块的另一种模式是注册二值图像。示例目录包含六个预置脚本,展示了使用该模块的不同方法。

有关2.1.0版本中添加的新功能,请参阅ExamplesICPImageScanner目录,了解如何首先将大图像切割成子图像,然后分别对每一对对应的子图像应用ICP。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

ICP-2.1.1.tar.gz (3.9 MB 查看哈希值)

上传时间 源代码

由以下支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面