# 载入所需库函数
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.DataSo