Gönderen: derindelimavi | Ekim 24, 2010

OpenCvSharp Kurulumu ve Kullanımı

Aslında bu konuya pek de girmeyi istemiyordum, Çünkü C# da  ben zaten yeniyim. ama ısrarlı sorular ve Özellikle OPOS programını çalıştıramamaktan şikayetler üzerine açıklama yazmak şart oldu.

Baştan başlarsak OpenCv pek yaygın olarak kullanılan bir bilgisayarlı görü (ComputerVision)  kütüphanesidir. Bilgisayarlı Görü İşleminide sadece Görüntü işleme zannetmemek lazım, bakan değil gören bilgisayar meselesi aslında.
İşte Bu kütüphane (OpenCv) C / C++ da yazıldığında öyle doğrudan DotNet dilleriyle kullanamazsınız.  Bazı metodlarla çağrırmanız lazım. Bu noktada bir kolaylık var, bahsi geçen metodlarla OpenCv ye ulaşmamızı sağlayan  ara kütüphaneler (wrappers)  hazırlanmış. Onlardan biri ve de bizim tercihimiz  olan OpenCvSharp dır.

Meseleyi böylece özetlediğimize göre yapacaklarımızı anlatalım. OpenCvSharp’ı kullanmak için

OpenCv yi kurmanız lazım. Şu anki kullanılabilir sürüm OpenCv 2.1 İndirme adresinden Windows için  hazırlanmış  kurulumlu paketini (OpenCV-2.1.0-win32-vs2008.exe ) indirin ve kurun.

OpenCvSharp ın OpenCv 2.1 için hazırlanmış olan paketini indirin ve Bilgisayarınızda uygun bir yere açın.
İndirecekleriniz

Evet Programlamaya geçmek için yaptığımız hazırlıklar tamamlandı.

Visual C# ‘ı çalıştırıp, yeni bir proje oluşturun Konsol yada Winform Farketmez. Sonrasında kullanacğımız kütüphaneleri eklememiz gerekiyor. Solution Explorer da  Reference kısmına sağ tıklayıp Add Reference deyip

Browse tabından OpenCvSharpı açtığımız dizine gidip

  • OpenCvSharp.Blob.dll
  • OpenCvSharp.CPlusPlus.dll 
  • OpenCvSharp.dll
  • OpenCvSharp.Extensions.dll
  • OpenCvSharp.MachineLearning.dll
  • OpenCvSharp.UserInterface.dll

Kütüphanelerini projenize ekleyin.
OpenCv nin Machine learning kısmı ve cvblob kütüphanesi C++ ile yazıldığından  onlarıda kullanmak istediğinizde “OpenCvSharpExtern.dll”   dosyasının da programınızla aynı yere koymanız lazım.

Bundan sonrası için yapmanız gereken şey OpenCv  programınızı yazıp derlemek

using System;
using OpenCvSharp;

class Program
{
    static void Main()
    {
        IplImage src = Cv.LoadImage(“lenna.png”, LoadMode.GrayScale);
        IplImage dst = Cv.CreateImage(new CvSize(src.Width, src.Height), BitDepth.U8, 1);
        Cv.Canny(src, dst, 50, 200);
        Cv.NamedWindow(“src image”); 
        Cv.ShowImage(“src image”, src);
        Cv.NamedWindow(“dst image”); 
        Cv.ShowImage(“dst image”, dst);
        Cv.WaitKey();
        Cv.DestroyAllWindows();
        Cv.ReleaseImage(src);
        Cv.ReleaseImage(dst);         
    }
}

 
Örnekden de görebileceğiniz gibi OpenCv biliyorsanız kolaylıkla OpenCvSharpda da program yazabilirsiniz.  OpenCvSharp’ın örnek programlarını yada bizim yayınladığımız programları incelemenizi tavsiye ederiz.

Yazı epey bir uzamış ama DLL Cehenneminden ( DLL Hell )  bahsetmeden geçmeyelim. Bizim yayınladığımız programı indirdiniz ve çalıştırmaya kalktınız. OpenCv yi OpenCvSharp ‘ı kurduğunuz halde OpenCv dll hatası veriyorsa. İsimleri aynı olmuş olsada versiyonu farklı olan dll ler yüzünden kaynaklanıyordur problem. Yapmanız gereken
Örnek programla birlikte gelen DLL leri ve çalıştırılabilir programı silin.
Programın proje dosyasını açın ve OpenCvSharp referanslarını silin
Kendi sisteminizdeki OpenCv referanslarını ekleyin
Programı tekrar derleyin.

Probleminiz – umuyorum – Çözülmüş olacaktır.
Çözülmemişse de biz buralardayız, Sıkça Sorulan Sorular kısmını da açtık, sorularınızı bekleriz…

Reklamlar

Responses

  1. >Selamlar,OpenCVSharp kullanarak bir proje geliştirmeye çalışıyorum; fakat CV.filter2d,cv.laplace vb. metotları kullanamıyorum.OpenCV'deki gibi tüm metotlar kullanılamıyor mu? Bilgilendirirseniz, sevinirim.

  2. >ayni söyledikleriniz gibi yapiyorum ama bende Projeyi derlemeye kalktigimda söyle uyari veriyor.[URL=http://www.directupload.net][IMG]http://s1.directupload.net/images/110322/ag3yrr85.png[/IMG][/URL]

  3. >kurduğunuz bütün Opencv bileşenlerini kaldırınsonra yazıdaki sırasına göre yapınhala olmuyorsa , detaylı yardım için e-posta atın adres profil sayfaında var

  4. Merhaba,Lokal olarak projemi çalıştırabiliyorum. Yalnız server a publish ettiğimde bin klasörünün içindeki yolunu belirttiğim dll leri görmeyip catch bloğuna düşüyor. İşin garip bir başka kısmı da, hala dosya yolu olarak lokal bilgisayarımdaki yolu almaya çalışması. Server'a herhangi bir kurulum yapmadım. Proje içindeki .dll ler yeterli değil mi acaba ve bu dosya yolu gerçekten kafamı çok karıştırmış durumda. Yardımlarınız için teşekkür ederim şimdiden.

  5. web projesi olarak hiç kullanmadımama benim fikrim Servera OpenCv kurmanız lazım

  6. Teşekkür ederim.Peki server a Visual Studio kurmadan opencv nasıl kurabilirim acaba ?

  7. OpenCv nin VS ile alakası yok

  8. Tamam alakası yok belki ama visual studio da referanslar ekleyerek anlatım yapılmış her yerde. Benim sorum vs olmadan nasıl kurabilirim. Teşekkürler


Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

w

Connecting to %s

Kategoriler

%d blogcu bunu beğendi: