В настоящее время невозможно получить цвет реального объекта под характерной точкой, используя методы ARKit (так же, как вы видели во многих приложениях для композитинга).Нет метода ARKit, позволяющего умножить Alpha
характерной точки на RGB
значение соответствующего пикселя в видеопотоке.
.showFeaturePoints
- это расширенная опция отладки ARSCNDebugOptions
для ARSCNView.Эта опция позволяет вам показывать обнаруженные трехмерные характерные точки в мире.
@available(iOS 11.0, *)
public static let showFeaturePoints: SCNDebugOptions
Но я уверен, что вы можете попробовать применить CIFilter к каналу ARKit содержит характерные точки.
Особые точки в вашей сцене желтые, поэтому вы можете использовать Эффект хроматической клавиши для извлечения альфа-канала.Затем вам нужно умножить эту альфу на RGB с камеры.Таким образом, вы получите color-coded
характерных точек.
В качестве альтернативы вы можете использовать CIDifferenceBlendMode
op из Core Image Compositing Operations .Вам нужно два источника - один с характерными точками, а другой без них.Затем вы должны изменить этот результат операции Difference и назначить его альфа-каналу перед умножением.