Tugas 3 PBKK Camera Capture

 

Nama : Danar Sodik Priyambodo

NRP : 5025211145

PBKK-A



    Tugas 3 kali ini membuat aplikasi Camera Capture untuk mendapatkan gambar dari webcam yang tersedia dan juga mengambil gambar tersebut untuk di simpan, atau mirip sekali dengan aplikasi Foto Camera. Implementasi sederhana dari aplikasi Windows Forms yang memanfaatkan Library AForge.NET Framework untuk berinteraksi dengan webcam. Aplikasi ini menawarkan beberapa fungsi utama. Pertama, saat aplikasi dimuat, daftar perangkat camera (webcam) yang tersedia ditampilkan dalam elemen "WebcamList". Pengguna dapat memilih perangkat yang ingin digunakan. Selanjutnya, saat tombol "Start" ditekan, aplikasi akan memulai tangkapan video dari webcam yang dipilih dan menampilkan setiap frame video baru dalam "pictureBox1". Saat pengguna ingin mengambil gambar dari video, mereka dapat menekan tombol "Capture", yang akan menampilkan gambar tersebut dalam "pictureBox2". Selanjutnya, pengguna dapat menyimpan gambar ini dalam format JPEG atau PNG dengan menekan tombol "Save Image". Terakhir, tombol "Exit" digunakan untuk menghentikan tangkapan video (jika sedang berjalan) dan keluar dari aplikasi. Keseluruhan, aplikasi ini memberikan cara sederhana untuk mengakses dan memanipulasi video dari webcam dengan menggunakan AForge.NET Framework dalam lingkungan Windows Forms.

Berikut Merupakan Source Code dari Aplikasi Camera Capture :
using AForge;
using AForge.Video;
using AForge.Video.DirectShow;
using System.Drawing;
using System.Drawing.Imaging;
namespace CameraCapture
{
public partial class Form1 : Form
{
private FilterInfoCollection captureDevice;
private VideoCaptureDevice videoSource;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
captureDevice = new FilterInfoCollection(FilterCategory.VideoInputDevice);
foreach (FilterInfo deviceList in captureDevice)
{
WebcamList.Items.Add(deviceList.Name);
}
WebcamList.SelectedIndex = 0;
videoSource = new VideoCaptureDevice();
}
private void Start_Click(object sender, EventArgs e)
{
if (videoSource.IsRunning)
{
videoSource.SignalToStop();
videoSource.WaitForStop();
pictureBox1.Image = null;
pictureBox1.Invalidate();
}
videoSource = new VideoCaptureDevice(captureDevice[WebcamList.SelectedIndex].MonikerString);
videoSource.NewFrame += new NewFrameEventHandler(VideoSource_NewFrame);
videoSource.Start();
}
private void VideoSource_NewFrame(object sender, NewFrameEventArgs eventArgs)
{
pictureBox1.Image = (Bitmap)eventArgs.Frame.Clone();
}
private void Capture_Click(object sender, EventArgs e)
{
pictureBox2.Image = (Bitmap)pictureBox1.Image.Clone();
}
private void SaveImage_Click(object sender, EventArgs e)
{
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Title = "Save Image As";
saveFileDialog.Filter = "Image files (*.jpg, *.png) | *.jpg, *.png";
ImageFormat imageFormat = ImageFormat.Png;
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
string ext = System.IO.Path.GetExtension(saveFileDialog.FileName);
switch (ext)
{
case ".jpg":
imageFormat = ImageFormat.Jpeg;
break;
case ".png":
imageFormat = ImageFormat.Png;
break;
}
pictureBox2.Image.Save(saveFileDialog.FileName, imageFormat);
}
}
private void Exit_Click(object sender, EventArgs e)
{
if (videoSource.IsRunning)
{
videoSource.SignalToStop();
videoSource.WaitForStop();
pictureBox1.Image = null;
pictureBox1.Invalidate();
pictureBox2.Image = null;
pictureBox2.Invalidate();
}
Application.Exit(null);
}
}
}
Berikut Merupakan ScreenShoot dari Aplikasi Camera Capture :

- aplikasi dijalankan dan menampilkan webcam yang tersedia


- memilih webcam dan menekan tombol start


- tekan tombol capture untuk mengambil gambar


- setelah mendapatkan gambar yang bagus, dapat di lakukan save dengan menekan tombol Save Image


- setelah memberi nama file foto dan menekan  save, akan tersimpan di folder yang ditentukan


Project dari aplikasi ini dapat di akses di github : CameraCapture


Terima Kasih

Komentar

Postingan populer dari blog ini

PBKK Final Project

Tugas 12 PBKK Codeigniter MVC

Tugas 1 PBKK