Esempio n. 1
0
        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;
            //}
        }
Esempio n. 2
0
        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;
            //}
        }