首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RealityKit - macOS摄影测量应用程序的误差

RealityKit - macOS摄影测量应用程序的误差
EN

Stack Overflow用户
提问于 2021-12-27 18:25:11
回答 2查看 238关注 0票数 0

在过去的几天里,我尝试用Xcode创建一个摄影测量命令行应用程序。但是,当我试图运行代码时,我一直收到一个错误。

我得到的错误如下:

[Photogrammetry] queueNextProcessingBatchIfNeeded(): Already running a job... not starting new one.

我在谷歌上搜索过,但我找不到任何经历过同样问题的人。

我使用的代码如下:

代码语言:javascript
复制
import Foundation
import RealityKit

let inputFolderUrl = URL(fileURLWithPath: "/Users/username/Desktop/AirForce", isDirectory: true)
let session = try! PhotogrammetrySession(input: inputFolderUrl, configuration: PhotogrammetrySession.Configuration())

try! session.process(requests: [.modelFile(url: URL(fileURLWithPath: "/Users/username/Desktop/MyModel.usdz"), detail: .preview)])

My system:

MacBook Air (M1,2020年)

macOS蒙特雷12.0.1 (21A559)

Xcode版本13.2.1 (13C100)

EN

回答 2

Stack Overflow用户

发布于 2021-12-31 20:21:36

用我的密码。它起作用了。如果你需要更多有关摄影测量的细节,请阅读我的中型员额

代码语言:javascript
复制
import Cocoa
import RealityKit

struct Photogrammetry {

    typealias Config = PhotogrammetrySession.Configuration
    typealias Request = PhotogrammetrySession.Request
    var inputFolder = "/Users/swift/Desktop/WildBoar"
    var outputFile = "/Users/swift/Desktop/wildBoar.usdz"
    var detail: Request.Detail = .medium

    fileprivate func running() {
        var config = PhotogrammetrySession.Configuration()
        config.featureSensitivity = .normal
        config.isObjectMaskingEnabled = true
        config.sampleOrdering = .unordered

        let inputFolderURL = URL(fileURLWithPath: inputFolder, 
                                     isDirectory: true)

        var optionalSession: PhotogrammetrySession? = nil

        do {
            optionalSession = try PhotogrammetrySession(
                                             input: inputFolderURL,
                                     configuration: config)        
        } catch {
            print("ERROR")
            Foundation.exit(1)
        }

        guard let session = optionalSession 
        else { Foundation.exit(1) }

        withExtendedLifetime(session) {
            do {
                let request = PhotogrammetrySession.Request
                   .modelFile(url: URL(fileURLWithPath: outputFile),
                           detail: detail)
                try session.process(requests: [request])
                RunLoop.main.run()
            } catch {
                print("ERROR")
                Foundation.exit(1)
            }
        }
    }
}
票数 0
EN

Stack Overflow用户

发布于 2022-09-18 15:28:58

你好,我也有同样的问题,我通过添加一行来解决这个问题。RunLoop.main.run()

代码语言:javascript
复制
import Foundation
import RealityKit

let inputFolderURL =  URL(fileURLWithPath: "/Users/saibalaji/Desktop/ObjectCapture/ObjectCapture/Images/camera",isDirectory: true)
let outputURL = URL(fileURLWithPath: "/Users/saibalaji/Desktop/ObjectCapture/ObjectCapture/Camera.usdz")

let session = try! PhotogrammetrySession(input: inputFolderURL, configuration: PhotogrammetrySession.Configuration())
let request = PhotogrammetrySession.Request.modelFile(url: outputURL, detail: .medium)
try!  session.process(requests: [request])
        RunLoop.main.run()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70499109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档