Использование геометрических точек ARSCNFaceGeometry в 2D-изображении - PullRequest
0 голосов
/ 29 ноября 2018

В настоящее время я пишу приложение, в котором я выполняю обработку изображения (с Core Image) для двумерного изображения, которое включает лицо (и сохраненный экземпляр ARSCNFaceGeometry).У меня возникли проблемы, и я определил, что вычисляю значение точек x, y, чтобы использовать его в базовом изображении для точек, которые будут соответствовать основным точкам в ARFaceGeometry.verticies.

Я собираю 2D-изображение, вызывая ARSCNView.snapshot()и сохраняя и обрабатывая его как CIImage.

В настоящее время я использую эти координаты текстуры, чтобы попытаться вычислить позицию x, y на CIImage, но у меня нет большого опыта виспользуя Core Image и не смог выяснить, должен ли это атрибут, который я должен использовать.

Вот то, что мне в настоящее время нужно для вычисления координат точки в CIImage x, y пространстве.Я пытаюсь создать CIVector точки.Что я делаю не так?

let imgAsCIImage = /* The CIImage of the ARSCNView Snapshot */
let faceDotPos = /* The index I am calculating point for */
let pointTexCoord = faceGeometry.textureCoordinates[faceDotPos]
let imageFrame = imgAsCIImage.extent
let xPoint = (CGFloat(pointTexCoord.x) * imageFrame.width)
let yPoint = (CGFloat(pointTexCoord.y) * imageFrame.height)

return CIVector(x: xPoint,y: yPoint)
...