попробовать макияж с помощью MLKit ios swift
Есть идеи, как можно нанести помаду на губы при распознавании лиц. я нанес цвет, но хочу показать глянцевый и блестящий. Любая идея о том, как использовать текстуру и оттенки в приложении MLKit ios
Просто я нахожу точки губ и создаю слой CAShapelayer, а затем заливаю его цветом. в ARKit мы можем использовать сцену и сцену, поэтому легко добавляем материал, текстуру и все такое. но как мы можем использовать в mlkit
[![введите описание изображения здесь][1]][1]
Q1. возможно ли использование Sceneview в mlkit для материалов и текстур.
Q2. или как нарисовать изображение во всех точках, например (губы, глаз, бровь)
// MARK: Contour func
private func addContours(for face: VisionFace, width: CGFloat, height: CGFloat) {
let facez = SCNScene()
guard let facez = SCNScene(named: "8.scn") else {
return
}
facez.rootNode.scale = SCNVector3(1,1,1)
let multipl :CGFloat = 200.0
let xoff :CGFloat = 0.98
let yoff : CGFloat = 1.76
let xp = ((face.frame.origin.x) / multipl) - xoff
let yp = ((face.frame.origin.y) / multipl) - yoff
facez.rootNode.position = SCNVector3(xp, yp, -1)
facez.rootNode.eulerAngles = SCNVector3(-1,1,0)
cameraView.allowsCameraControl = true
cameraView.autoenablesDefaultLighting = true
cameraView.scene = facez
let materials = facez.rootNode.geometry?.firstMaterial
materials?.diffuse.contents = UIColor.red
}
я пробовал вот так и
public static func addleftImage(
atPoint point: CGPoint,
to view: UIView,
color: UIColor,
radius: CGFloat
) {
let divisor: CGFloat = 2.0
let xCoord = point.x - radius / divisor
let yCoord = point.y - radius / divisor
let circleRect = CGRect(x: xCoord, y: yCoord, width: radius, height: radius)
let circleView = UIImageView(frame: circleRect)
circleView.image = #imageLiteral(resourceName: "leftEye")
circleView.layer.cornerRadius = radius / divisor
circleView.alpha = Constants.circleViewAlpha
circleView.backgroundColor = color
view.addSubview(circleView)
}
Но не повезло!
1 ответ
Q1: Боюсь, что это выходит за рамки mlkit.
Q2: если это поможет, у MLKit есть быстрое приложение для быстрого запуска, которое может отображать точки контура на лице: https://github.com/firebase/quickstart-ios/tree/master/mlvision/MLVisionExample
Был применен transformMatrix, и это линия для добавления точек контура:https://github.com/firebase/quickstart-ios/blob/master/mlvision/MLVisionExample/ViewController.swift