public string Morph(string FilePath1, string FilePath2, double Parameter) { //try { FaceRectangle[] obamaRect, kimRect; FaceLandmarks[] obamaLandmarks, kimLandmarks; runFaceAPI(FilePath1, out obamaRect, out obamaLandmarks); runFaceAPI(FilePath2, out kimRect, out kimLandmarks); PointF[] obamaLandmarkArr = convertLandmarkFormation(ref obamaLandmarks[0], ref obamaRect[0]); PointF[] kimLandmarkArr = convertLandmarkFormation(ref kimLandmarks[0], ref kimRect[0]); Rectangle obamaRectangle = convertRectangleFormation(obamaRect[0]); Rectangle kimRectangle = convertRectangleFormation(kimRect[0]); Image <Bgr, byte> obamaFace = new Image <Bgr, byte>(FilePath1).GetSubRect(obamaRectangle); Image <Bgr, byte> kimFace = new Image <Bgr, byte>(FilePath2).GetSubRect(kimRectangle); FaceIntegration faceIntegration = new FaceIntegration( obamaFace, kimFace, obamaLandmarkArr, kimLandmarkArr, new Size(300, 300), Parameter); Image <Bgr, byte> dstFace = faceIntegration.integrateFace(); string fileout = "result-" + DateTime.Now.ToString("yyyy-MM-dd-hh-mm-ss-ffff") + ".jpg"; dstFace.Save(picFolder + fileout); return(returnURL + fileout); } //catch (Exception ex) //{ // return null; //} }
public string Morph(string FilePath1, string FilePath2, double Parameter) { //try { FaceRectangle[] obamaRect, kimRect; FaceLandmarks[] obamaLandmarks, kimLandmarks; runFaceAPI(FilePath1, out obamaRect, out obamaLandmarks); runFaceAPI(FilePath2, out kimRect, out kimLandmarks); PointF[] obamaLandmarkArr = convertLandmarkFormation(ref obamaLandmarks[0], ref obamaRect[0]); PointF[] kimLandmarkArr = convertLandmarkFormation(ref kimLandmarks[0], ref kimRect[0]); Rectangle obamaRectangle = convertRectangleFormation(obamaRect[0]); Rectangle kimRectangle = convertRectangleFormation(kimRect[0]); Image<Bgr, byte> obamaFace = new Image<Bgr, byte>(FilePath1).GetSubRect(obamaRectangle); Image<Bgr, byte> kimFace = new Image<Bgr, byte>(FilePath2).GetSubRect(kimRectangle); FaceIntegration faceIntegration = new FaceIntegration( obamaFace, kimFace, obamaLandmarkArr, kimLandmarkArr, new Size(300, 300), Parameter); Image<Bgr, byte> dstFace = faceIntegration.integrateFace(); string fileout = "result-" + DateTime.Now.ToString("yyyy-MM-dd-hh-mm-ss-ffff") + ".jpg"; dstFace.Save(picFolder + fileout); return (returnURL + fileout); } //catch (Exception ex) //{ // return null; //} }