コード例 #1
0
 public ActionResult AddOrEdit(imageModel img)
 {
     if (img.ImageUpload != null)
     {
         string fileName  = Path.GetFileNameWithoutExtension(img.ImageUpload.FileName);
         string extension = Path.GetExtension(img.ImageUpload.FileName);
         fileName      = img.Name + extension;
         img.ImagePath = "/File/image/" + fileName;
         img.ImageUpload.SaveAs(Path.Combine(Server.MapPath("/File/image/"), fileName));
     }
     using (UploadImageContext db = new UploadImageContext())
     {
         if (img.Id == 0)
         {
             image obj = new image();
             obj.ImagePath = img.ImagePath;
             obj.Name      = img.Name;
             db.images.Add(obj);
             db.SaveChanges();
             return(Json(new { success = true, message = "Saved successfully!!!" }, JsonRequestBehavior.AllowGet));
         }
         else
         {
             db.Entry(img).State = EntityState.Modified;
             db.SaveChanges();
             return(Json(new { success = true, message = "Updated successfully!!!" }, JsonRequestBehavior.AllowGet));
         }
     }
 }
コード例 #2
0
        // GET: Image/Details/5
        public ActionResult Details(int id)
        {
            if (id == 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var        image = gs.GetByIdImage(id);
            imageModel um    = new imageModel
            {
                id           = image.id,
                image1       = image.image1,
                name         = image.name,
                aime         = image.aime,
                danger       = image.danger,
                user         = image.user,
                visib        = image.visib,
                dateinvisibl = image.dateinvisibl
            };

            if (image == null)
            {
                return(HttpNotFound());
            }
            return(View(um));
        }
        /// <summary>
        /// Predict emotion on the basis of wrinkles and distances
        /// </summary>
        /// <param name="ImageMats">Input image on which emotion need to detect</param>
        /// <returns>Business model containing images of different steps and output result</returns>
        public EmotionBusinessModel DetectEmotionsDistanceAndWrinkledBased(Mat[] ImageMats, List <Rectangle> facess)
        {
            EmotionBusinessModel output = new EmotionBusinessModel();

            EmotionBusinessModel.outputmsgs = new List <string>();
            try
            {
                using (Logger logger = new Logger())
                {
                    KeyValuePair <string, Color> keyPair = new KeyValuePair <string, Color>("smile", Color.Yellow);
                    keyPairs.Add(keyPair);
                    keyPair = new KeyValuePair <string, Color>("sad", Color.Blue);
                    keyPairs.Add(keyPair);
                    keyPair = new KeyValuePair <string, Color>("surprise", Color.SlateGray);
                    keyPairs.Add(keyPair);
                    keyPair = new KeyValuePair <string, Color>("anger", Color.Red);
                    keyPairs.Add(keyPair);
                    keyPair = new KeyValuePair <string, Color>("disgust", Color.Purple);
                    keyPairs.Add(keyPair);
                    keyPair = new KeyValuePair <string, Color>("fear", Color.Black);
                    keyPairs.Add(keyPair);
                    keyPair = new KeyValuePair <string, Color>("neutral", Color.Green);
                    keyPairs.Add(keyPair);
                    Mat ImageMat = ImageMats[0];
                    logger.LogIntoFile(Log.logType.INFO, (string)ConstantsLoader.getInstance().getValue(EnumConstant.emotionDetectionMessage));
                    List <Rectangle> faces = new List <Rectangle>();
                    faces = facess;
                    //faces = FDIPMAin.DetectFace(ImageMat);
                    output.faceRect = new List <Rectangle>();
                    foreach (Rectangle face in faces)
                    {
                        List <Rectangle> fcs = new List <Rectangle>();
                        fcs.Add(face);
                        output.outputResult = EDRIPDistanceAndWrinklesBasedFeatures.getInstance().FindEmotionDistanceAndWrinkleBased(ImageMat, fcs, 0);
                        EmotionBusinessModel.outputmsgs.Add(output.outputResult);
                        output.faceRect.Add(face);
                    }
                    imageModel img = new imageModel();
                    if (faces.Count > 0)
                    {
                        img.image = CvmlUtility.getInstance().annotate(ImageMat, faces[0], output.outputResult, Color.Blue);
                    }

                    //img.image=drawRect(ImageMat.ToImage<Bgr, byte>(), faces[0], output.outputResult);
                    img.label = "Final emotion detected image with rectangle on face";
                    output.images.Add(img);
                    output.outputMessage = "Emotion detected successfully in given image using wrinkled and distance based approach";
                    output.success       = true;
                }
            }

            catch (Exception e)
            {
                string text = ExceptionHandle.GetExceptionMessage(e);
                output.success      = false;
                output.outputResult = "neutral";
                output.e            = e;
            }
            return(output);
        }
コード例 #4
0
        // GET: Image/Delete/5
        public ActionResult Delete(int id)
        {
            var image = gs.GetByIdImage(id);

            imageModel um = new imageModel
            {
                id   = image.id,
                name = image.name,
            };

            return(View(um));
        }