0

Pythonでスクリプトを書いていますが、初心者です(昨日から始めました)。

基本的には、10 枚までの写真を詰め込んだチャンクを作成し、それらを整列させ、モデルを構築し、テクスチャを構築するだけです。これでチャンクができたので、それらを整列させたい...

マニュアルから:

PhotoScan.alignChunks(chunks, reference, method=’points’, accuracy=’high’, preselection=False)

指定されたチャンクのセットを整列します。

パラメーター

  • chunks (list) – 整列するチャンクのリスト。
  • 参照 (チャンク) – 参照として使用されるチャンク。
  • 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)
4

2 に答える 2

2
PhotoScan.alignChunks(,1,method="points",accuracy='low', preselection=True)
                      ^

「、」の前に、チャンクが必要です!

于 2012-07-24T20:41:48.590 に答える
1

注: このモジュールは使用したことがありません。

PhotoScan.alignChunksドキュメントには、チャンクのリストが必要であると記載されていますが、空の最初の引数で呼び出しています。

ループの前に空のリストを初期化できます。

chunks = []

そして、ループ内から完成したチャンクをリストに追加します。

    # ...
    chunks.append(new_chunk)

次に、関数を呼び出します。

PhotoScan.alignChunks(chunks, chunk[0], ...)
于 2012-07-24T20:42:43.673 に答える