Visual Studio 2015 Emgu.Cv Kullanımı

Başlatan crazy, 10 Nisan 2017, 14:34:55

crazy

Emgu.Cv ile  ip kamera ve pc kameramızdan görüntü almak için
https://sourceforge.net/projects/emgucv/files/emgucv/
linkten son sürüm olan 3.1.0-r16.12 indiriyoruz.

1-Toolbox ->Genaral  ->Choose Items sekmesinden Emgu.CV.UI.dll   ekliyoruz.


2-Refrences ->Add Referennce ->Browse  sekmesinden "Emgu.CV.UI.GL.dll","Emgu.CV.World.dll" ve " ZedGraph.dll" dosyalarını ekliyoruz.

3-Projenin özeliklerine tıklayıp Platfrom Target x64 olarak değiştiriyoruz.

4-Resimdeki kütüphaneleri proje dahil ediyoruz.

5-Bilgisayarım ->Özellikler ->Gelişmiş sistem ayarları -> Ortam değişkenleri  sekmesinden resimdeki gibi C:\SON SURUM_EMGU\bin\x64  yolunu gösteriyoruz.Benim pc de yeniden başlatıktan sonra dosyaların yolunu buldu.Dosya ekleme derdinden kurtarıyor.Biraz uğraştırıyor.

2.Yöntem ise C:\SON SURUM_EMGU\bin\x64 bulanan dll uzantılı dosyaları proje dahil edilerek yapılıyor.
1-Proje ismine sağ tıklayıp  Add ->Existing Items ->bin\x64  içinde ki tüm dll uzantılı dosyaları seçip projeye dahil ediyoruz.
Tüm dll uzantılı dosyalar eklendikten sonra  ctrl seçilip Do not copy seçeğini Copy always değiştiriyoruz .



using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
// 4 DOSYAYI PROJEYE DAHİL EDİYORUZ
using Emgu.CV;
using Emgu.CV.CvEnum;
using Emgu.CV.Structure;
using Emgu.Util;
namespace Camera
{
    public partial class Form1 : Form
    {
        private VideoCapture Kamera = null;
        public Form1()
        {
            InitializeComponent();
        }
        private void Cam(object sender, EventArgs e)
        {
            Mat frame = new Mat();
            Kamera.Retrieve(frame, 0);
            ımageBox1.Image = frame;

        }
        
        private void Form1_Load(object sender, EventArgs e)
        {
             // Kamera = new VideoCapture();// pc kamerası için 
            // Kamera = new VideoCapture("http://wmccpinetop.axiscam.net/mjpg/video.mjpg"); // Netten canlı yayın yapan ip kamera link
           //Kamera  = new Capture("rtsp://192.168.1.50//user=admin_password=admin_channel=1_stream=0.sdp");//ip cameradan görüntü almak için
          //ip kamera kullanıcı adı ve şifreyi kendi kullandığımız kameraya göre değiştirmek gerekiyor.
           
            Kamera = new VideoCapture("http://webcam.st-malo.com/axis-cgi/mjpg/video.cgi?");//Netten canlı yayın yapan ip kamera link
            Kamera.Start();
            Kamera.ImageGrabbed += Cam;
        }
    }
}


muhittin_kaplan


cann

Geçen hafta Visual Studio öğrenmek için kurmak istedim. ücretsiz diyor ama ne kadar doğru ve VS code ve VS IDE hangisini yüklemek lazım,

crazy

Visual Studio Community 2017  ücretsiz sadece  basit bir kayıt işlemi var.
https://www.visualstudio.com/tr/downloads/?rr=https%3A%2F%2Fwww.google.com.tr%2F


enrique_iglesias

#4
Bir ara (2008-2010) project çalıştığınız pc dışında paket dosyasını hazırlarken dll dosyasını paylaştırmıyordu.. Diğer pc'ler için.. Denedinizmi?
Hız kameraları için Computer Vision çalışırken tüm hayallerimi çökertmişti...

crazy

Diğer pc ler dediğiniz nedir.Windows 7 denedim.Emgu.Cv Son sürümden bir önceki sürümde bir dijital bir analog kamera ile cpu kullanımı %15 ram kullanımı 512Mb seviyelerindeydi.Son sürümü sadece netten denedim cpu  %4 ram 250Mb civarında.

hwdesigner

Merhabalar.
Güzel bir çalışma olmuş elinize sağlık. Merak ettiğim bir nokta var burada ip kameradan gelen veriyi resim olarak mı işledi niz yoksa video olarak mı.

crazy

Video izler gibi anlık görüntü alabiliyorsun.

hwdesigner

Alıntı yapılan: crazy - 11 Nisan 2017, 14:24:30
Video izler gibi anlık görüntü alabiliyorsun.
Anladığım kadarıyla sürekli resim çekip video görüntüsü veriyor. Peki 25 fps yi tutturuyor mu hocam. Hissedilir bir gecikme yada titreme oluyor mu.

Bazı kameralar da zoom özelliği var. Bu kütüphane ile direk olarak erişimi mümkün mü?

Kişisel merakımdan soruyorum. Güzel bir çalışma yapmışsiniz gerçekten.

crazy

Alıntı yapılan: Hasaneginn - 12 Nisan 2017, 09:33:50
Anladığım kadarıyla sürekli resim çekip video görüntüsü veriyor. Peki 25 fps yi tutturuyor mu hocam. Hissedilir bir gecikme yada titreme oluyor mu.

Bazı kameralar da zoom özelliği var. Bu kütüphane ile direk olarak erişimi mümkün mü?
Hocam C# konusunda  o kadar bilgili değilim amatör olarak ilgileniyorum. Her hangi bir donma titreme olayı yok önceki sürümlerde vardı(x86 denemiştim).Fps oranı artarsa cpu ram kullanımı artıyor(25Fps max benim kullandığım kameranın özelliği).Dijital ip kamera kullanırsan anında görüntü alıyorsun..Görüntü işleme olayı 2 kameradan sonra kasıyor bilgisayarı yada farklı bir tekniği var.

hwdesigner

Alıntı yapılan: crazy - 12 Nisan 2017, 10:47:13
Hocam C# konusunda  o kadar bilgili değilim amatör olarak ilgileniyorum. Her hangi bir donma titreme olayı yok önceki sürümlerde vardı(x86 denemiştim).Fps oranı artarsa cpu ram kullanımı artıyor(25Fps max benim kullandığım kameranın özelliği).Dijital ip kamera kullanırsan anında görüntü alıyorsun..Görüntü işleme olayı 2 kameradan sonra kasıyor bilgisayarı yada farklı bir tekniği var.
Anladım hocam. Yanıtınız için teşekkürler

berkay_91

Alıntı Yap1-Proje ismine sağ tıklayıp  Add ->Existing Items ->bin\x64  içinde ki tüm dll uzantılı dosyaları seçip projeye dahil ediyoruz.

buraya kadar herşeyi yaptım ancak bin\x64 ün içinde sadece 4 tane dll çıkıyor bende

crazy

Alıntı yapılan: berkay_91 - 14 Nisan 2017, 10:58:46
buraya kadar herşeyi yaptım ancak bin\x64 ün içinde sadece 4 tane dll çıkıyor bende
Merhaba .dll uzantılı dosyaları görmek için  resimde ki gibi seçmek gerekiyor.




berkay_91

resimdeki gibi seçtim ama yine aynı... C:\Emgu\emgucv-windesktop 3.1.0.2504\bin\x64 bu şekilde dosyanın içine Bilgisayarımdan girincede zaten 4 dll gözüküyor

crazy

https://sourceforge.net/projects/emgucv/files/emgucv/  (3.1.0-r16.12 dosyayı indiriyorsun) indirdiğin dosyada  bir sıkıntı var. .Boyutunun 356.367KB  olması lazım bende öle görünüyor,sourceforge.netten dosya indirilirken bazen eksik indirebiliyor.