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.
ş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!!");
}
}
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
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ı.
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.
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 ?
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
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.
https://www.mathworks.com/help/supportpkg/ipcamera/ug/connect-to-ip-cameras.html
Mjpeg yapman gerekiyor çıkış formatını. Eger oluyorsa tabi.
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.