Akuisisi Gambar Dari Webcam Menggunakan Aforge.Net Library Berbasis Bahasa C#

Terlebih dahulu install library AForge.NET di

http://www.aforgenet.com/framework/downloads.html

Buatlah sebuah project baru dan buatlah tampilan GUI seperti berikut.

 

Control Property Value
pictureBox1 BorderStyle FixedSingle
pictureBox1 SizeMode StretchImage
comboBox1 DropDownStyle DropDownList
Button1 Text Mulai Webcam
Form1 Text Wangready Webcam

Berikut code untuk form diatas.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using AForge.Video;             //add reference
using AForge.Video.DirectShow;  //add reference

namespace wangready_webcam_aforge
{
    public partial class Form1 : Form
    {
        //reference sudah ditambahkan
        private FilterInfoCollection VideoCaptureDevices;//mengumpulkan setiap perangkat video yg terdeteksi
        private VideoCaptureDevice FinalVideoSource;//menampung perangkat video yang akan digunakan
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //pertama add reference semua Aforge.video.dll dan Aforge.video.directshow.dll
            VideoCaptureDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
            //sekarang perangkat video sudah tersimpan pada array di atas
            foreach(FilterInfo VideoCaptureDevice in VideoCaptureDevices)
            {
                comboBox1.Items.Add(VideoCaptureDevice.Name);
            }
            //jalankan aplikasi ini maka akan didapatkan semua perangkat video yang terscan di pc
            comboBox1.SelectedIndex = 0;
            //sekarang akan ditambahkan kode untuk menjalankan webcam dan menampiljkan gambar pada picturebox
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //tambahkan kode berikut untuk menentukan perangkat sumber dari video
            FinalVideoSource = new VideoCaptureDevice(VideoCaptureDevices[comboBox1.SelectedIndex].MonikerString);
            FinalVideoSource.NewFrame += new NewFrameEventHandler(FinalVideoSource_NewFrame);
            FinalVideoSource.Start();
        }

        void FinalVideoSource_NewFrame(object sender, NewFrameEventArgs eventArgs) 
        {
            //sekarang kita tambahkan kode berikut untuk menampilkan new frame event (frame dari webcam) untuk menampilkan gambar pada picturebox
            Bitmap image = (Bitmap)eventArgs.Frame.Clone();//bitmap boxing
            pictureBox1.Image = image;
        }

        private void Form1_FormClosed(object sender, FormClosedEventArgs e)
        {
            //kita tambahkan kode untuk membuat webcam berhenti bekerja
            //kapanpun form telah ditutup maka webcam akan berhenti bekerja secara automatis
            if (FinalVideoSource.IsRunning)
            {
                FinalVideoSource.Stop();
            }
            //selesai
            //sekarang kita jalankan
        }
    }
}

Download source code http://www.mediafire.com/file/6zljog12nbmniw1/wangready_webcam_aforge.rar

______________________________________

Daftar Pustaka

vimeo.com/7526663

3 Responses to Akuisisi Gambar Dari Webcam Menggunakan Aforge.Net Library Berbasis Bahasa C#

  1. valdiaz says:

    mas, mau nanya nih…
    kalau webcam dg filter grayscale gimana ya?
    yg ini kan menampilkan warna sesuai dg kenyataan, saya inginnya menampilkannya dlm efek grayscale.

    • wangready says:

      langsung aja gan liat di TKP nya… aforgenet.com/articles/lego_pan_tilt_camera/

      // create grayscale filter
      GrayscaleBT709 grayscaleFilter = new GrayscaleBT709( );
      // apply it to color filtered image
      Bitmap grayImage = grayscaleFilter.Apply( image );
      
  2. Pingback: Membuat Server Video Streming Sederhana Visual C# 2012 | WanGReadY

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s