尝试使用MLKit ios swift进行化妆

问题描述 投票:-1回答:1

我已经做了颜色,但我想显示光泽和光泽.Any Idea关于如何使用MLKit ios应用程序中的纹理和色调。

在ARKit中,我们可以使用scenkit和sceneview,这样我们就可以很容易地添加材质和纹理等,但是在mlkit中如何使用呢?

[![在此输入图像描述][1]][1]

Q1. 是否可以在mlkit中使用sceneview来制作材质和纹理。

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)
}

但没有运气!

ios swift scenekit face-detection firebase-mlkit
1个回答
0
投票

Q1:恐怕这不在MLkit的范围内。

Q2:如果有帮助的话,MLKit在swift中有一个快速启动的应用程序,可以在脸上显示轮廓点。https:/github.comfirebasequickstart-iostreemastermlvisionMLVisionExample。

应用了一个transformMatrix,这就是添加轮廓点的线路。https: /github.comfirebasequickstart-iosblobmastermlvisionMLVisionExampleViewController.swift#L845。

© www.soinside.com 2019 - 2024. All rights reserved.