AForge.NET Kütüphanelerine Erişim ve Sistemdeki Kameraları Listeleme
Merhaba,
Bu içeriğimizde AForge.NET kütüphanesinin kaynaklarına erişmeyi ve AForge.NET ile ilk icraatımız olan sistemdeki kameraların tümüne erişip, listelemeyi inceliyor olacağız. AForge.NET kütüphanesinin .dll kaynaklarına erişme konusu sadece bu yazımızda ele alınmış olunmakla birlikte, bundan sonraki tüm yazılarımızda AForge.NET derinliklerine dalacak ve tüm nimetleri zamanla teknik boyutta ele alacağız.
İlk olarak AForge.NET kütüphanesinin kaynak dosyalarını indirmek için bu adresi kullanabilirsiniz. İlgili adreste bulunan “[ Download Libraries Only ]” linki aracılığıyla bizim amaçlarımıza sonsuz eşlik edecek olan AForge.NET kütüphanelerini .dll olarak elde edebilirsiniz.
Elde edilen kütüphaneler yukarıdaki ekran görüntüsünde görüldüğü üzere oldukça fazladır. Lakin bizler yapacağımız çoğu işlemlerde genel mahiyette “AForge.dll“, “AForge.Video.dll“, “AForge.Video.DirectShow.dll“, “AForge.Vision.dll” ve “AForge.Imaging.dll” kütüphanelerini kullanacağımızdan dolayı bu ve bundan sonraki tüm AForge.NET çalışmalarında bu kütüphanelerin projeye refere edildiğini varsayıyor olacağım.
Evet. Artık AForge.NET kütüphanelerini elde ettiğimize göre sistemdeki kameralara erişmeyi ele alabiliriz.
public void KameralariGetir(PictureBox pb)
{
#region Kamera Yakala
AForge.Video.DirectShow.VideoCaptureDevice FinalVideoSource;
AForge.Video.DirectShow.FilterInfoCollection VideoCaptuerDevices;
//Sistemdeki tüm kameralar elde edilmektedir.
VideoCaptuerDevices = new AForge.Video.DirectShow.FilterInfoCollection(AForge.Video.DirectShow.FilterCategory.VideoInputDevice);
//İlk kamerayı seçiyoruz.
FinalVideoSource = new AForge.Video.DirectShow.VideoCaptureDevice(VideoCaptuerDevices[0].MonikerString);
#endregion
FinalVideoSource.NewFrame += new AForge.Video.NewFrameEventHandler((sender, eventArgs) =>
{
//Görüntü üzerinde işlemleri gerçekleştireceğimiz metot.
//Görüntü Bitmap olarak elde ediliyor.
Bitmap image = (Bitmap)eventArgs.Frame.Clone();
pb.Image = image;
});
//Görüntü kalitesini belirtiyoruz.
FinalVideoSource.DesiredFrameRate = 1;
//Görüntü büyüklüğünü ayarlıyoruz.
FinalVideoSource.DesiredFrameSize = new Size(1, 500);
FinalVideoSource.Start();
}
Hangi sınıfın hangi kütüphane içerisinde olduğunu görmeniz için kütüphaneleri using ile sayfaya eklemeden direkt olarak referans erişiminde belirtmiş bulunmaktayım. İşte bu kod bloğunda yapmış olduğumuz çalışma neticesinde sistemdeki kameralara erişilebilmekte ve üzerinde her türlü işlem gerçekleştirilebilmektedir.
Mesela; AForge.NET ile teknik boyutta ilk adım olması mahiyetinde aşağıdaki gibi bir form üzerinde bulunan PictureBox nesnesi üzerinde çalışma yapabiliriz.
private void Form1_Load(object sender, EventArgs e)
{
KameralariGetir(pictureBox1);
}
Sonraki yazılarımda görüşmek üzere…
İyi çalışmalar…



Merhaba, Aforge.net kütüphanesini kullanarak göz bebeğini algılatmamız mümkün müdür? Yoksa opencv veya emguCv mi kullanmalıyız? Yardımlarınızı bekliyorum.
Merhaba,
Göz bebeği gibi teferruat gerektiren çalışmaları OpenCV/EmguCV gibi kütüphanelerle icra etmeye çalışmak daha teknik iş sergilemenizi sağlayacaktır. Bu konuda varsa cascade dosyalarına göz atmanızı, araştırmanızı öneririm.
Sevgiler…