一个用于将照片与相同场景的数据库图像注册的Python模块
项目描述
请参阅模块API页面
以获取有关此模块的所有信息,包括有关代码最新更改的信息。上述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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6a705686d26e2d4aee82eecc437920498bd8d5b2f51d5f637961eb2a1012e1a5 |
|
MD5 | 5113f2edd719135da3c86856e0c0e84b |
|
BLAKE2b-256 | 2e84780043188e3c6b7715e796d4ac7ea5527223b3d2e820f2c197cbfe00cd88 |