我正在用 python 编写脚本,但我是初学者(昨天开始)。
基本上,我只是创建了大约 10 张图片填充的块,对齐它们,构建模型并构建纹理。现在我有我的块,我想对齐它们......
从手册:
PhotoScan.alignChunks(chunks, reference, method=’points’, accuracy=’high’, preselection=False)
对齐指定的块集。
参数
- chunks (list) -- 要对齐的块列表。
- reference (Chunk) – 用作参考的块。
- method (string) -- ['points', 'markers'] 中的对齐方法。
- accuracy (string) -- ['high', 'medium', 'low'] 中的对齐精度。
- preselection (boolean) – 启用图像对预选。
返回操作成功。
返回类型
boolean
我试图对齐块,但脚本在第 26 行抛出错误:
TypeError:期望一个块列表作为参数
你知道我怎样才能让它工作吗?
这是我当前的代码:
import PhotoScan
doc = PhotoScan.app.document
main_doc = PhotoScan.app.document
chunk = PhotoScan.Chunk()
proj = PhotoScan.GeoProjection()
proj.init("EPSG::32641")
gc = chunk.ground_control
gc.projection = proj
working_path = "x:\\New_agisoft\\ok\\Optical\\"
for i in range (1,3):
new_chunk = PhotoScan.Chunk()
new_chunk.label = str(i)
loop = i*10
loo = (i-1)*10
doc.chunks.add(new_chunk)
for j in range (loo,loop):
file_path = working_path + str(j) + ".jpg"
new_chunk.photos.add(file_path)
gc = new_chunk.ground_control
gc.loadExif()
gc.apply()
main_doc.active = len(main_doc.chunks) - 1
doc.activeChunk.alignPhotos(accuracy="low", preselection="ground control")
doc.activeChunk.buildModel(quality="lowest", object="height field", geometry="smooth", faces=50000)
doc.activeChunk.buildTexture(mapping="generic", blending="average", width=2048, height=2048)
PhotoScan.alignChunks(,1,method="points",accuracy='low', preselection=True)