# 载入所需库函数
import Metashape
import os
# 输入输出文件夹
input_path = ""
output_path = ""
# 寻找图片函数
def find_files(folder, types):
return [entry.path for entry in os.scandir(folder) if (entry.is_file() and os.path.splitext(entry.name)[1].lower() in types)]
# 创建一个新项目
doc = Metashape.app.document
if not doc:
doc = Metashape.Document()
# 检查是否已经存在Chunk,如果不存在则创建一个
if not doc.chunk:
chunk = doc.addChunk()
else:
chunk = doc.chunk # 或者选择当前的chunk
# 导入图片
photos = find_files(input_path, [".jpg", ".jpeg", ".tif", ".tiff"])
chunk.addPhotos(photos)
# 图片对齐
chunk.matchPhotos(generic_preselection=True,
reference_preselection=False)
chunk.alignCameras()
# 建立深度图
chunk.buildDepthMaps()
# 生成密集点云
chunk.buildDenseCloud()
# 保存
doc.save(input_path + "/project.psx")
# 构建DEM
chunk = doc.chunk
chunk.buildDem(source_data=Metashape.DataSource.DenseCloudData,
interpolation=Metashape.Interpolation.EnabledInterpolation)
doc.save()
# 构建正射影像
chunk.buildOrthomosaic(surface_data=Metashape.DataSource.ElevationData,
blending_mode=Metashape.BlendingMode.MosaicBlending)
doc.save()
# 导出正射影像
chunk.exportRaster(output_path + "/output.tif")
Metashape.app.quit()
Metashape调用Python API实现自动图像拼接
最新推荐文章于 2024-08-03 19:27:22 发布