Picproje Elektronik Sitesi

SERBEST BÖLGE => Bilim Teknik => Matlab => Konuyu başlatan: wtrk - 18 Şubat 2019, 13:00:02

Başlık: Matlab Görüntü İşleme
Gönderen: wtrk - 18 Şubat 2019, 13:00:02
Arkadaşlar selamlar.

Elimizde bir IP kamera var bu IP kamera ile görüntü işleme yapmak istiyoruz. Hali hazırda bunun için  hazır kodlar varmı acaba destek olmanız ricasıyla.

Biz USB webcam ile yapılan görüntü işleme için kodlar bulduk, webcam ile yaptık çalışıyor ancak IP kamera ile yapamadık.
Başlık: Ynt: Matlab Görüntü İşleme
Gönderen: tunayk - 18 Şubat 2019, 13:53:19
şu durumda asıl sorun IP kameradan resim almakta sanırım. Markadan markaya değişmekle beraber, http protokolünde doğrudan anlık resim ("snapshot") alabilirsiniz çoğu markada. Dahua markalı bir cihaz için C# dilinde aşağıdaki şekilde resim alabiliyoruz.  Resim aldıktan sonraki kısmı zaten usb tarafı ile aynı;

        private void button1_Click(object sender, EventArgs e)
        {

        byte[] buffer = new byte[2500000];
        int read, total = 0;
        HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://192.168.2.108/cgi-bin/snapshot.cgi");
        NetworkCredential cred = new NetworkCredential("admin", "admin");


           
            req.KeepAlive = true;
            req.Method = "POST";
            req.Timeout = 3000;
            req.Credentials = cred;

            System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
            sw.Start();


            try
            {
             
                WebResponse resp = req.GetResponse();
                // get response stream
               
                Stream stream = resp.GetResponseStream();
                // read data from stream

                while ((read = stream.Read(buffer, total, 1000)) != 0)
                {
                    total += read;
                }
                // get bitmap
               
                if (File.Exists(Application.StartupPath + "\\resim.jpg")) File.Delete(Application.StartupPath + "\\resim.jpg");
                FileStream fs = File.Create(Application.StartupPath + "\\resim.jpg");
                if (fs != null)
                {
                    fs.Write(buffer, 0, total);
                    fs.Close();
                }
                label1.Text = sw.ElapsedMilliseconds.ToString();

                Bitmap bmp = (Bitmap)Bitmap.FromStream(new MemoryStream(buffer, 0, total));               
                pictureBox1.Image = bmp;
                label1.Text += "\\" +  sw.ElapsedMilliseconds.ToString();

            }
            catch (Exception ex)
            {
                MessageBox.Show("Grab Error:" + ex, "Error!!");
            }
}

Başlık: Ynt: Matlab Görüntü İşleme
Gönderen: qeek - 18 Şubat 2019, 13:56:47
Daha önce matlab ile uğraşırken buradaki sistem ile ip kamera okumuştum.
https://www.mathworks.com/help/supportpkg/ipcamera/ug/connect-to-ip-cameras.html
Başlık: Ynt: Matlab Görüntü İşleme
Gönderen: wtrk - 18 Şubat 2019, 14:04:09
Alıntı yapılan: tunayk - 18 Şubat 2019, 13:53:19şu durumda asıl sorun IP kameradan resim almakta sanırım. Markadan markaya değişmekle beraber, http protokolünde doğrudan anlık resim ("snapshot") alabilirsiniz çoğu markada. Dahua markalı bir cihaz için C# dilinde aşağıdaki şekilde resim alabiliyoruz.  Resim aldıktan sonraki kısmı zaten usb tarafı ile aynı;

        private void button1_Click(object sender, EventArgs e)
        {

        byte[] buffer = new byte[2500000];
        int read, total = 0;
        HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://192.168.2.108/cgi-bin/snapshot.cgi");
        NetworkCredential cred = new NetworkCredential("admin", "admin");


           
            req.KeepAlive = true;
            req.Method = "POST";
            req.Timeout = 3000;
            req.Credentials = cred;

            System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
            sw.Start();


            try
            {
             
                WebResponse resp = req.GetResponse();
                // get response stream
               
                Stream stream = resp.GetResponseStream();
                // read data from stream

                while ((read = stream.Read(buffer, total, 1000)) != 0)
                {
                    total += read;
                }
                // get bitmap
               
                if (File.Exists(Application.StartupPath + "\\resim.jpg")) File.Delete(Application.StartupPath + "\\resim.jpg");
                FileStream fs = File.Create(Application.StartupPath + "\\resim.jpg");
                if (fs != null)
                {
                    fs.Write(buffer, 0, total);
                    fs.Close();
                }
                label1.Text = sw.ElapsedMilliseconds.ToString();

                Bitmap bmp = (Bitmap)Bitmap.FromStream(new MemoryStream(buffer, 0, total));               
                pictureBox1.Image = bmp;
                label1.Text += "\\" +  sw.ElapsedMilliseconds.ToString();

            }
            catch (Exception ex)
            {
                MessageBox.Show("Grab Error:" + ex, "Error!!");
            }
}




Aynen hocam sadece webcam yerine IP cameradan nasıl görüntü alabiliriz o konuda takılmıstıki elimizdeki kamera çin malı ancak kaliteli görüntüsü var bir deneyeyim kodları.
Başlık: Ynt: Matlab Görüntü İşleme
Gönderen: wtrk - 18 Şubat 2019, 14:04:34
Alıntı yapılan: qeek - 18 Şubat 2019, 13:56:47Daha önce matlab ile uğraşırken buradaki sistem ile ip kamera okumuştum.
https://www.mathworks.com/help/supportpkg/ipcamera/ug/connect-to-ip-cameras.html

teşekkür ederim bunuda inceleyeceğim.
Başlık: Ynt: Matlab Görüntü İşleme
Gönderen: wtrk - 18 Şubat 2019, 17:33:02
Arkadaşşlar açıkcası pek yapamadım birkaç deneme yapmama rağmen.

Bendeki kamera Haikon marka ve bunun http/cgi kodlarını filan bulmam gerekiyormuş, bu durumda nasıl ilerlemem gerekiyor ?
Başlık: Ynt: Matlab Görüntü İşleme
Gönderen: striger - 18 Şubat 2019, 21:39:27
http://www.camera-sdk.com/p_181-how-to-connect-to-your-hikvision-ip-camera-onvif.html
https://www.hikvision.com/en/Support/Downloads/SDK
https://stackoverflow.com/questions/31398958/grabbing-frames-from-a-hikvision-ip-camera
haikon hikvision aynı marka, linklere goz gezdirmekte fayda var, rtsp:// protokoluyle vlc playerda da goruntu alınabiliyor
Başlık: Ynt: Matlab Görüntü İşleme
Gönderen: wtrk - 19 Şubat 2019, 07:36:27
Alıntı yapılan: striger - 18 Şubat 2019, 21:39:27http://www.camera-sdk.com/p_181-how-to-connect-to-your-hikvision-ip-camera-onvif.html
https://www.hikvision.com/en/Support/Downloads/SDK
https://stackoverflow.com/questions/31398958/grabbing-frames-from-a-hikvision-ip-camera
haikon hikvision aynı marka, linklere goz gezdirmekte fayda var, rtsp:// protokoluyle vlc playerda da goruntu alınabiliyor

rtsp ile vlc'den görüntü aldım ancak bunu matlaba uyduramadım malesef.
Başlık: Ynt: Matlab Görüntü İşleme
Gönderen: OptimusPrime - 20 Şubat 2019, 07:52:23
https://www.mathworks.com/help/supportpkg/ipcamera/ug/connect-to-ip-cameras.html

Mjpeg yapman gerekiyor çıkış formatını. Eger oluyorsa tabi.
Başlık: Ynt: Matlab Görüntü İşleme
Gönderen: wtrk - 20 Şubat 2019, 08:34:58
Alıntı yapılan: OptimusPrime - 20 Şubat 2019, 07:52:23https://www.mathworks.com/help/supportpkg/ipcamera/ug/connect-to-ip-cameras.html

Mjpeg yapman gerekiyor çıkış formatını. Eger oluyorsa tabi.

Malesef olmadı, kamera ile normal web browser ve vlc ile görüntü alaibliyorum ancak, matlab'de grüntü almayı malesef başaramadım.