27 Mayıs 2019, 15:03:53

Haberler:

Picproje Pazar Sohbetleri: https://bit.ly/2GHsjAK


Matlab Görüntü İşleme

Başlatan wtrk, 18 Şubat 2019, 16:00:02

wtrk

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.
NoBody Can Stop Me!!!!!

tunayk

ş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 senderEventArgs e)
        {

        
byte[] buffer = new byte[2500000];
        
int readtotal 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(buffertotal1000)) != 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(buffer0total);
                    
fs.Close();
                }
                
label1.Text sw.ElapsedMilliseconds.ToString();

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

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


qeek


wtrk

Alıntı yapılan: tunayk - 18 Şubat 2019, 16: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 senderEventArgs e)
        {

        
byte[] buffer = new byte[2500000];
        
int readtotal 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(buffertotal1000)) != 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(buffer0total);
                    
fs.Close();
                }
                
label1.Text sw.ElapsedMilliseconds.ToString();

                
Bitmap bmp = (Bitmap)Bitmap.FromStream(new MemoryStream(buffer0total));                
                
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ı.
NoBody Can Stop Me!!!!!

wtrk

Alıntı yapılan: qeek - 18 Şubat 2019, 16: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.
NoBody Can Stop Me!!!!!

wtrk

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 ?
NoBody Can Stop Me!!!!!


wtrk

NoBody Can Stop Me!!!!!


wtrk

Alıntı yapılan: OptimusPrime - 20 Şubat 2019, 10: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.
NoBody Can Stop Me!!!!!