В настоящее время я пишу приложение, в котором я выполняю обработку изображения (с 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)