簡體   English   中英

從ARReferenceImage獲取UIImage或CIImage

[英]Getting a UIImage or CIImage from ARReferenceImage

我正在使用ARKitARKit上進行一些動畫ARAnchors 我的圖像存儲在如下所示的AR Resource Group中。

在此處輸入圖片說明

因此,可以像下面這樣訪問它們,以便將它們作為跟蹤圖像加載到我的會話中。 但是, 我也想對這些相同的圖像進行一些單獨的操作 ,因此需要以CIImagesUIImages形式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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM