Получение UIImage или CIImage из ARReferenceImage
Я использую ARKit
сделать анимацию ARAnchors
, Мои изображения хранятся в AR Resource Group
как ниже.
Как таковые они могут быть доступны, как показано ниже, чтобы загрузить их в мой сеанс в качестве отслеживаемых изображений. Тем не менее, я также хотел бы сделать несколько отдельных операций с этими же изображениями и, следовательно, необходимо получить к ним доступ как CIImages
или же UIImages
, Сейчас я должен импортировать их отдельно в свой проект, потому что, кажется, нет способа извлечь изображение из ARReferenceImage
, Есть ли способ сделать это? Это довольно удобно использовать AR Resource Group
поскольку он отображает соответствующие предупреждения о потенциальных конфликтах, а также менее производительные маркеры перед компиляцией. Я также предполагаю, что загрузка приложения займет больше времени, если я преобразую, скажем, мои изображения PNG в CIImages
затем в ARReferenceImage
в моем viewDidLoad()
или с помощью аналогичных средств.
guard let trackedImages = ARReferenceImage.referenceImages(inGroupNamed: "Photos", bundle: Bundle.main) else {
print("No images available")
return
}
1 ответ
Создание ARReferenceImage
s в Xcode не помещает исходные изображения в каталог ресурсов вашего приложения, поэтому исходное изображение недоступно во время выполнения. (Вместо этого ARKit предварительно обрабатывает изображение в форме, которая делает распознавание более эффективным при использовании меньшего количества памяти.)
Если вы хотите использовать изображение как для распознавания ARKit, так и для визуального отображения (или другой обработки), вам нужно будет включить его в свой каталог активов дважды - один раз как эталонное изображение AR, а затем снова как обычный (UIImage
) актив.
Кроме того, вы можете добавить его в свой каталог активов как обычное изображение, а затем создать ARReferenceImage
от него во время выполнения - этот класс имеет инициализатор, который принимает CGImage
, (В этом случае все еще может быть полезно использовать область "Эталонные изображения AR" каталога ресурсов, чтобы выполнить предварительную проверку ваших изображений и убедиться, что они пригодны для распознавания, даже если вы не доставляете их таким образом.