Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using Emgu.CV;
- using Emgu.CV.CvEnum;
- using Emgu.CV.Structure;
- using Emgu.Util;
- namespace WindowsFormsApplication1
- {
- public partial class Form1 : Form
- {
- private Capture camera;
- private CascadeClassifier faces_cascade, eyes_cascade, mouth_cascade;
- public Form1()
- {
- InitializeComponent();
- faces_cascade = new CascadeClassifier("haarcascade_frontalface_default.xml");
- eyes_cascade = new CascadeClassifier("haarcascade_eye.xml");
- mouth_cascade = new CascadeClassifier("haarcascade_mcs_mouth.xml");
- camera = new Capture();
- }
- private void button1_Click(object sender, EventArgs e)
- {
- if (timer2.Enabled)
- timer2.Stop();
- else
- timer2.Start();
- //pictureBox1.Image = Image.FromFile("lena.jpg");
- //Image<Bgr, Byte> ImageFrame = camera.QueryFrame();
- //pictureBox1.Image = ImageFrame.ToBitmap();
- //timer2.Start();
- }
- private void Form1_Load(object sender, EventArgs e)
- {
- }
- private void Timer2_click(object sender, EventArgs e)
- {
- //Image<Bgr, Byte> ImageFrame = camera.QueryFrame();
- //pictureBox1.Image = ImageFrame.ToBitmap();
- //Image<Bgr, Byte> ImageFrame = new Image<Bgr, Byte>("lena.jpp");
- Capture mMovie = new Capture("MOV_0214.mp4");
- Image<Bgr, byte> ImageFrame = mMovie.QueryFrame();
- Image<Gray, Byte> GrayFrame = ImageFrame.Convert<Gray, Byte>();
- // var faces = faces_cascade.DetectMultiScale(GrayFrame, 1.1, 3, new Size(30, 30), new Size(300, 300));
- var eyes = eyes_cascade.DetectMultiScale(GrayFrame, 1.4, 8, new Size(30, 30), new Size(300, 300));
- var mouth = mouth_cascade.DetectMultiScale(GrayFrame, 1.1, 130, new Size(30, 30), new Size(300, 300));
- var faces = faces_cascade.DetectMultiScale(GrayFrame, 1.1, 200, new Size(30,30), new Size(300, 300));
- if (faces.Length > 0)
- {
- //Bitmap BmpInput = GrayFrame.ToBitmap();
- // Bitmap ExtractedFace;
- // Graphics FaceCanvas;
- foreach (var face in faces)
- {
- ImageFrame.Draw(face, new Bgr(0, 0, 255), 1);
- // ImageFrame.Draw(face, new Bgr(0, double.MaxValue, 0), 3);
- // ExtractedFace = new Bitmap(face.Width, face.Height);
- // pictureBox2.Size = Size.FromImage(ExtractedFace);
- pictureBox2.Size = new System.Drawing.Size(face.Width, face.Height);
- pictureBox2.SizeMode = PictureBoxSizeMode.CenterImage;
- // FaceCanvas = Graphics.FromImage(ExtractedFace);
- // FaceCanvas.DrawImage(BmpInput, 0, 0, face, GraphicsUnit.Pixel);
- }
- pictureBox2.Image = ImageFrame.ToBitmap();
- }
- foreach (var eye in eyes)
- ImageFrame.Draw(eye, new Bgr(0, 255, 0), 1);
- foreach (var mout in mouth)
- ImageFrame.Draw(mout, new Bgr(255, 0, 0), 1);
- foreach (var face in faces)
- ImageFrame.Draw(face, new Bgr(0, 0, 255), 1);
- pictureBox1.Image = ImageFrame.ToBitmap();
- }
- private void pictureBox1_Click(object sender, EventArgs e)
- {
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement