在过去的几天里,我尝试用Xcode创建一个摄影测量命令行应用程序。但是,当我试图运行代码时,我一直收到一个错误。
我得到的错误如下:
[Photogrammetry] queueNextProcessingBatchIfNeeded(): Already running a job... not starting new one.
我在谷歌上搜索过,但我找不到任何经历过同样问题的人。
我使用的代码如下:
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)
发布于 2021-12-31 20:21:36
用我的密码。它起作用了。如果你需要更多有关摄影测量的细节,请阅读我的中型员额。
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)
}
}
}
}发布于 2022-09-18 15:28:58
你好,我也有同样的问题,我通过添加一行来解决这个问题。RunLoop.main.run()
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()https://stackoverflow.com/questions/70499109
复制相似问题