10 Kasım 2013 Pazar
OpenCVSharp Kütüphanesi
OpenCV (Open source computer vision library) genel olarak gerçek zamanlı görüntü işleme kütüphanesidir. C++ ile yazılmıştır ve yüz tanıma, hareket algılama, nesne takibi gibi zahmet isteyen işler kolaylıkla yapılabilmektedir.
C# ile kullanabilmemiz için OpenCVSharp gibi bazı wrapperslar ortaya çıkmıştır. Şimdi OpenCVSharp ile nasıl uygulama geliştirebileceğimize göz atalım.
1) Öncelikle OpenCv'nin Windows için 2.2 sürümünü indirip kuralım :
http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.2/
(OpenCV-2.2.0-win32-vs2010.exe isimli exe dosyası)
2) Sistem değişkenlerine yeni bir path ekliyoruz :
Denetim Masası -> System -> Gelişmiş sistem ayarları -> Ortam değişkenleri -> New diyerek resimdeki gibi OpenCV Path'ını eklemiş oluyoruz.
3) Şimdi OpenCVSharp kütüphanesinin dll dosyalarını indirelim. Burada dikkat etmemiz gereken OpenCV ve OpenCvSharp versiyonlarının aynı versiyonda olmalarıdır. Biz 2.2 versiyonları üzerinde çalışacağız.
https://code.google.com/p/opencvsharp/downloads/detail?name=OpenCvSharp-2.2-x86-20101212.zip&can=4&q=
4) Visual Studio'da yeni bir masaüstü uygulaması oluşturalım ve Referances bölümüne sağ tıklayarak Add Referances diyelim. Aşağıdaki gibi indirdiğimiz dll dosyaları arasından OpenCvSharp.dll dosyasını ekleyelim.
5) Test etmek için projeye bir adet resim ekleyelim (benim resmim kemal.png) ve aşağıdaki kodları yazıp projeyi çalıştıralım.
IplImage src = Cv.LoadImage("kemal.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);
6) Karşımıza çıkacak olan output aşağıdaki gibidir :
Kaydol:
Kayıt Yorumları (Atom)

Teşekkürler paylaşımınız yararlı oldu gerçekten...
YanıtlaSildüşünün mesela:bir resmi dışardan alsa ve insan simasını eğer barındırıyorsa onu farklı bir klasöre kaydetsin
bunu nasıl yapabiliriz...
Teşekkürler
Merhaba,
Silbahsettiğin işlem için image üzerinde efektler yapmaktan ziyade kaç tane yüz var bunu sayman lazım,
ilk önce bunu yaparak başlayabilirsin.
Linkteki örneği inceleyebilirsin.
https://www.junian.net/2014/07/camera-face-detection-in-c-using-emgu.html
Daha sonra da file chooser, file saver gibi olayları yaparsın.
Silİyi çalışmalar.
iyi çalışmalar bir korton kutu üzerindeki numarayı okuyup text olarak verebilcek bir algaritma v program nasıl için nasıl bi yol izlenmelidir. hangi filtreler yardımınız için şimdiden teşekkürler.
YanıtlaSilMerhaba,
Silherhangi bir resim dosyasının üzerindeki yazılar OCR (Optical Character Recognition) denilen kütüphaneler kullanılarak okunabiliyor. Bu sayede kağıt üzerindeki yazılar dijital ortama geçirilmiş oluyor.
İlk yapman gereken kamera ile görüntüyü almak, sonrasında ise bu görüntüyü herhangi bir OCR kütüphanesine gönderip string sonuç alabilirsin.
add referans dedıgımdew ve klasoru sectıgımde kutuphane isimleri cıkmıyor neden olabılır acaba ?
YanıtlaSilAdd Reference deyip browse sekmesine tıklarsak ve dll'lerin bulunduğu klasörü gösterirsek görünecektir.
Sildll leri eklediğim halde class isimleri ni tanıymadı.
YanıtlaSil