Advertisement
Guest User

Untitled

a guest
May 27th, 2015
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.82 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using Emgu.CV;
  11. using Emgu.CV.CvEnum;
  12. using Emgu.CV.Structure;
  13. using Emgu.Util;
  14.  
  15. namespace WindowsFormsApplication1
  16. {
  17.     public partial class Form1 : Form
  18.     {
  19.  
  20.         private Capture camera;
  21.         private CascadeClassifier faces_cascade, eyes_cascade, mouth_cascade;
  22.  
  23.  
  24.         public Form1()
  25.         {
  26.             InitializeComponent();
  27.             faces_cascade = new CascadeClassifier("haarcascade_frontalface_default.xml");
  28.             eyes_cascade = new CascadeClassifier("haarcascade_eye.xml");
  29.             mouth_cascade = new CascadeClassifier("haarcascade_mcs_mouth.xml");
  30.  
  31.             camera = new Capture();
  32.         }
  33.  
  34.         private void button1_Click(object sender, EventArgs e)
  35.         {
  36.  
  37.             if (timer2.Enabled)
  38.                 timer2.Stop();
  39.             else
  40.                 timer2.Start();
  41.  
  42.  
  43.             //pictureBox1.Image = Image.FromFile("lena.jpg");
  44.             //Image<Bgr, Byte> ImageFrame = camera.QueryFrame();
  45.             //pictureBox1.Image = ImageFrame.ToBitmap();
  46.  
  47.             //timer2.Start();
  48.         }
  49.  
  50.         private void Form1_Load(object sender, EventArgs e)
  51.         {
  52.  
  53.         }
  54.  
  55.         private void Timer2_click(object sender, EventArgs e)
  56.         {
  57.             //Image<Bgr, Byte> ImageFrame = camera.QueryFrame();
  58.             //pictureBox1.Image = ImageFrame.ToBitmap();
  59.             //Image<Bgr, Byte> ImageFrame = new Image<Bgr, Byte>("lena.jpp");
  60.             Capture mMovie = new Capture("MOV_0214.mp4");
  61.             Image<Bgr, byte> ImageFrame = mMovie.QueryFrame();
  62.             Image<Gray, Byte> GrayFrame = ImageFrame.Convert<Gray, Byte>();
  63.  
  64.            // var faces = faces_cascade.DetectMultiScale(GrayFrame, 1.1, 3, new Size(30, 30), new Size(300, 300));
  65.             var eyes = eyes_cascade.DetectMultiScale(GrayFrame, 1.4, 8, new Size(30, 30), new Size(300, 300));
  66.             var mouth = mouth_cascade.DetectMultiScale(GrayFrame, 1.1, 130, new Size(30, 30), new Size(300, 300));
  67.             var faces = faces_cascade.DetectMultiScale(GrayFrame, 1.1, 200, new Size(30,30), new Size(300, 300));
  68.  
  69.             if (faces.Length > 0)
  70.             {
  71.                 //Bitmap BmpInput = GrayFrame.ToBitmap();
  72.                // Bitmap ExtractedFace;
  73.                // Graphics FaceCanvas;
  74.  
  75.                 foreach (var face in faces)
  76.                 {
  77.                      ImageFrame.Draw(face, new Bgr(0, 0, 255), 1);
  78.                      // ImageFrame.Draw(face, new Bgr(0, double.MaxValue, 0), 3);
  79.                    // ExtractedFace = new Bitmap(face.Width, face.Height);
  80.                    // pictureBox2.Size = Size.FromImage(ExtractedFace);
  81.                     pictureBox2.Size = new System.Drawing.Size(face.Width, face.Height);
  82.                     pictureBox2.SizeMode = PictureBoxSizeMode.CenterImage;
  83.                   //  FaceCanvas = Graphics.FromImage(ExtractedFace);
  84.                   //  FaceCanvas.DrawImage(BmpInput, 0, 0, face, GraphicsUnit.Pixel);
  85.                 }
  86.                     pictureBox2.Image = ImageFrame.ToBitmap();
  87.                
  88.             }
  89.            
  90.  
  91.                 foreach (var eye in eyes)
  92.                     ImageFrame.Draw(eye, new Bgr(0, 255, 0), 1);
  93.                 foreach (var mout in mouth)
  94.                     ImageFrame.Draw(mout, new Bgr(255, 0, 0), 1);
  95.                 foreach (var face in faces)
  96.                     ImageFrame.Draw(face, new Bgr(0, 0, 255), 1);
  97.                 pictureBox1.Image = ImageFrame.ToBitmap();
  98.  
  99.             }
  100.  
  101.         private void pictureBox1_Click(object sender, EventArgs e)
  102.         {
  103.         }
  104.  
  105.         }
  106.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement