Sayfalar

Cumartesi, Aralık 12, 2009

C# ile OpenCv kullanmak

C# ile daha doğrusu .Net in dillerinden biriyle OpenCv kütüphanesine ulaşmanız mümkün. Bu iş için yazılmış .Net kütüphanelerini hızlıca  tanıyalım

  • SharperCV :  Uzun süredir güncellenmiyor lisansı kötü
  • OpenCVDotNet : Managed c++ ile hazırlanmış, uzun süredir güncellenmiyor, lisansıda GPL
  • The OpenCV Wrapper Project : Yapı olarak aslında OpenCv ye oldukça uyumlu düşünülmüş son güncelleme Mayıs 2009 yani güncel sayılır. Fakat  "We don't allow to use the wrapper for commercial purposes. This includes reselling wether in the original or modified form (sources or binaries) or using in commercial projects." diyen çok kötü bir lisansa sahip
  •  Emgu Cv :  c# ile yazılmış ve mono ile de derlenebildiğinden cross-platform , lisansı GPL yada ticari olabiliyor tek kullanıcı için 199 $ fiyat biçmişler "If you are upgrading, you save 50% off the license fee." gibi cabası da var ve belkide ticari yanı olması sebebiyle  en profesyöneli
  • OpenCvSharp :  C# ile yazılmış ve oldukça güncel ve ticari kullanım içinde gayet uygun LGPL lisansına sahip Mono ile de kullanılabiliyormuş yani cross-platform. Bizim tavsiye ve tercih ettiğimiz kütüphane de bu.




Gelelim Örneğimize  Web Kamera dan Görüntü alıp onun üzerinde basit işlemler uygulayan ve avi olarak kaydedebilen küçük bir programcık.
IDE olarak Visual C# 2008 Express kullanıldı
Derlemek için OpenCvSharp OpenCv 2.0 için olan versiyonu kullanıldı

Indirmek için burdan buyrun  :  Effects

16 yorum:

  1. Güzel bir inceleme olmuş, teşekkürler. Bende bakınıyordum hangisini kullanmak lazım diye.

    YanıtlaSil
  2. Eh artık bakmazsın üzerinde çalışmaya başlarsın

    YanıtlaSil
  3. Mustafa4:29 ÖS

    Programı ilk derlediğimde
    BadImageFormatException was unhandled hatası alıyorum.Çözemedim nedendir sizce?

    hata içeriği şu;

    OpenCvSharp, Version=2.0.3598.25091, Culture=neutral, PublicKeyToken=null' dosyasını veya derlemesini ya da bağımlılıklarından birini yükleyemedi. Geçersiz biçimdeki bir program yüklenmek istendi.

    Kütüphaneyi kurdum fakat aldığım hata buydu.64bit vista kullanıyorum.Kurduğum 32bit uyumlu opencv.
    64bit in opencv nin içinde sadece DLL ler bunları hangi klasöre taşıyacağımı bilemedim

    YanıtlaSil
  4. OpenCvSharpın dışında Opencv yi de kurmanız lazım
    OpenCvyi kurdunuz mu ?
    yada belkide 32 bit 64 uyumsuzluğu vardır. Orjinal Program 32 bit Vistada derlendi
    Profil sayfasında e-posta adresim var ordana bana ulaşabilirsiniz

    YanıtlaSil
  5. keşke 3 sene önce bu kütüphaneyi (.net ile düzgün şekilde çalışanını bulsaydık) o zamanki robotu çalştırmak için 2 programı piping ile bağlamıştım

    YanıtlaSil
  6. Geç olsunda güç olmasın :)

    YanıtlaSil
  7. Adsız6:59 ÖS

    aforge.net nasıl?

    YanıtlaSil
  8. Adsız7:00 ÖS

    Aforge.Net nasıl???

    YanıtlaSil
  9. Aforge 'i hiç kullanmadım
    Benzeri işleri yapıyor fakat
    sadece .Net için
    OpenCv ile geliştirdiğiniz projeyi
    C/C++'a taşıyabilirsiniz

    YanıtlaSil
  10. Adsız3:17 ÖS

    ben nesne takip eden robot yapmak istiyorum bitirme projesi olarak,görüntü işlemeyi bilgisayarda yapıp robotun nesneyi takip etmesi için gerekli bilgileri seri porttan aktarmayı düşünüyorum.Genel anlamda c v c++ ve algoritmam iyidir.Acaba bu proje beni aşar mı?? Yardımlarınız için şimdiden teşekkür ederim...

    YanıtlaSil
  11. nesneden kast ettiğiniz şeye göre değişir ama halledilmeyecek şey değil
    e-posta ilede ulaşabilirsiniz profil sayfasında var

    YanıtlaSil
  12. Ben C# için openCv kurulumunu ve anlattığınız adımları uyguladım. Sadece bir yerde hata alıyorum. PictureBox a resim basarken bitmap nesnesi gerekli.'tmp.ToBitmap()' bu kısımda ToBitmap() fonksiyonu tanımlı değil. Bu fonksiyonu hangi kütüphaneden alıyor ? IplImage'i bitmap'e çevirirken sıkıntı yaşıyorum. Yardımcı olursanız sevinirim.

    YanıtlaSil
  13. o fonksiyon OpenCvsharpdan geliyor eğer tanımlı değilse bir şeyleri yanlış yapıyorsunuzdur...

    YanıtlaSil
  14. Merhaba ben bir otomasyon firmasında yazılım mühendisiyim. İlk kez bir webcam uygulamasını projemde kullanacağım. İhtiyacım olan tek şey resim çekebilmek ve kaydetmek. AForge ve OpenCV nin lisans olayına tam olarak anlam veremedim. Bunları veya en azından birini projemde free kullanabilirmiyim yoksa satın almam mı gerekir? Yada bunu daha kolay bir şekilde halledebilirmiyim? Saygılar.

    YanıtlaSil
  15. 1) OpenCv kendisi ticari kullanıma uygun .Net ile kullanmanızı sağlayan kütüphaneler ile ilgili açıklama yazıda geçiyor. Açık kaynak kod lisanslarının ne manaya geldiğini hangilerinin ticari kullanıma uygun olduğunu araştırın

    2) sadece webcam'den görüntü almak için opencv ye ihtiyacınız yok daha basit çözümleri araştırın

    3) Yazı dışı sorularınız için iletişime geçin Yorum bırakmayın....

    YanıtlaSil