reconstruct

小心

这是3D重建项目的基础模块,以下所有类和函数已在子模块 easyidp.Pix4Deasyidp.Metashape 中实现。它们通常足以满足大多数应用情况,不建议直接创建以下类或使用以下函数,除非您确实需要。

模块 easyidp.reconstruct 中基类的摘要。

Recons()

重建项目的基类。

Sensor()

相机模型的基类

Photo([sensor])

用于存储3D重建项目中图像信息的基类

Calibration([sensor])

相机镜头畸变校准的基类

ChunkTransform()

类似于Metashape Python API class Metashape.ChunkTransform 的API包装器

您可以直接访问这些基类:

>>> import easyidp as idp

>>> sensor = idp.reconstruct.Sensor()
>>> sensor
<easyidp.reconstruct.Sensor object at 0x7fdc000450d0>

>>> photo = idp.reconstruct.Photo()
>>> photo
<easyidp.reconstruct.Photo object at 0x7fdc40996190>

但它更常用于Pix4D或Metashape项目中:

加载示例数据:

>>> test_data = idp.data.TestData()

并读取演示Pix4D项目:

>>> p4d = idp.Pix4D(
...     project_path=test_data.pix4d.lotus_folder,
...     param_folder=test_data.pix4d.lotus_param
... )

然后访问这些类:

>>> p4d.sensors
<easyidp.Container> with 1 items
[0]     FC550_DJIMFT15mmF1.7ASPH_15.0_4608x3456
<easyidp.reconstruct.Sensor object at 0x7fdc40996580>

>>> p4d.photos[0]
<easyidp.reconstruct.Photo object at 0x7fdc40996220>

加载示例数据:

>>> test_data = idp.data.TestData()

并读取演示Metashape项目:

>>> ms = idp.Metashape(test_data.metashape.lotus_psx, chunk_id=0)

然后访问这些类:

>>> ms.photos
<easyidp.Container> with 151 items
[0]     DJI_0422
<easyidp.reconstruct.Photo object at 0x7fdc409a4040>
[1]     DJI_0423
<easyidp.reconstruct.Photo object at 0x7fdc40996c70>
...
[149]   DJI_0571
<easyidp.reconstruct.Photo object at 0x7fdc103e2910>
[150]   DJI_0572
<easyidp.reconstruct.Photo object at 0x7fdc103e2940>

函数

sort_img_by_distance(recons, img_dict_all, roi)

按照片到 ROI 的距离排序 back2raw img_dict 结果的高级包装器

save_back2raw_json_and_png(recons, ...)

保存反向反转结果