Получение UIImage или CIImage из ARReferenceImage

В Java вам не нужно явно устанавливать объекты в null, чтобы они могли быть GC'd. Объекты имеют право на GC, когда нет ссылок на него (игнорируя классы java.lang.ref.*).

0
задан Anters Bear 18 January 2019 в 09:40
поделиться

1 ответ

Создание ARReferenceImage в XCode не помещает исходные изображения в каталог ресурсов вашего приложения, поэтому исходное изображение не доступно во время выполнения. (Вместо этого ARKit предварительно обрабатывает изображение в форме, которая делает распознавание более эффективным при использовании меньшего объема памяти.)

Если вы хотите использовать изображение как для распознавания ARKit, так и для визуального отображения (или другой обработки), вам нужно будет включить его в свой каталог активов дважды - один раз как эталонное изображение AR, а затем снова как обычный (UIImage) актив.

В качестве альтернативы, вы можете добавить его в каталог активов как обычное изображение, а затем создать из него ARReferenceImage во время выполнения - у этого класса есть инициализатор, который принимает CGImage. (В этом случае может оказаться полезным использовать область «Эталонные изображения AR» каталога ресурсов, чтобы выполнить предварительную проверку ваших изображений и убедиться, что они хороши для распознавания, даже если вы их не доставляете таким образом.

0
ответ дан rickster 18 January 2019 в 09:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: