[英]Getting a UIImage or CIImage from ARReferenceImage
我正在使用ARKit
在ARKit
上進行一些動畫ARAnchors
。 我的圖像存儲在如下所示的AR Resource Group
中。
因此,可以像下面這樣訪問它們,以便將它們作為跟蹤圖像加載到我的會話中。 但是, 我也想對這些相同的圖像進行一些單獨的操作 ,因此需要以CIImages
或UIImages
形式CIImages
進行訪問。 現在,我不得不將它們分別導入到我的項目中,因為似乎沒有辦法從ARReferenceImage
提取圖像。 有沒有辦法做到這一點? 使用AR Resource Group
非常方便,因為它會在編譯前顯示有關潛在沖突的警告以及性能較低的標記。 我也相信它會花費更多的時間來加載應用程序,如果我要轉換說我的PNG圖像到CIImages
然后進入ARReferenceImage
在我viewDidLoad()
或一些類似手段。
guard let trackedImages = ARReferenceImage.referenceImages(inGroupNamed: "Photos", bundle: Bundle.main) else {
print("No images available")
return
}
在Xcode中創建ARReferenceImage
不會將原始圖像放入應用程序的資產目錄中,因此原始圖像在運行時不可用。 (相反,ARKit會將圖像預處理為一種形式,從而可以在減少存儲空間的同時提高識別效率。)
如果您想同時使用圖像進行ARKit識別和視覺顯示(或其他處理),則需要將其兩次包含在資產目錄中-一次作為AR參考圖像,然后再次作為常規( UIImage
)資產。
或者,您可以將其作為普通映像添加到資產目錄中,然后在運行時從中創建一個ARReferenceImage
-該類具有使用CGImage
的初始化CGImage
。 (在這種情況下,使用資產目錄的“ AR參考圖像”區域對圖像進行預檢可能仍然有用,即使您未采用這種方法,也要確保它們能被識別。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.