2012-04-13 2 views
1

Я пытаюсь получить видео с IP-камеры в emgu, я мог отображать видео в браузере с IP-адреса «http://169.254.255.253», но как я могу отобразить это из emgu?Как получить видео с ip-камеры с помощью emgucv

, пожалуйста, это важно для меня.

+0

Я просто знаю, что использование httpWebRequest - это хороший способ получить изображение в виде jpeg-потока из моей panasonic ccty-камеры, но в motionJpegStream, как я могу получить видео, потому что тип содержимого jpeg-движения является multiPart !!!! – mostafa8026

+0

Какая у вас ОС? Вы видите эту камеру в диспетчере устройств вашей операционной системы? Я имею в виду, можете ли вы получить доступ к нему непосредственно из ОС? – Kerberos

+0

Я использую окна 7, да, я вижу это на своих os, используя эту ссылку: http://192.168.1.253/nphMotionJpeg?Resolution=320x240&Quality=Standard – mostafa8026

ответ

1
Capture _Capture = new Emgu.CV.CvInvoke.cvCreateFileCapture("http://username:[email protected]_address/axis-cgi/mjpg/video.cgi?resolution=640x480&req_fps=30&.mjpg"); 

Я не тестировал, но может быть, этот фрагмент кода или подход могут вам помочь. Например OpenCV вы можете проверить эту страницу: OpenCV with Network Cameras

И вы можете проверить вики страницу данного метода: http://www.emgu.com/wiki/files/2.3.0/document/html/a26a5e9d-53d7-633a-5d50-508aa22dd1fd.htm

+1

спасибо, но ваш код не работает должным образом, cvCreateFileCapture возвращает IntPtr. поэтому я использую это как: IntPtr i = Emgu.CV.CvInvoke.cvCreateFileCapture («http://192.168.1.253/nphMotionJpeg?Resolution=320x240&Quality=Standard»); но я не знаю, как получить видео с url? !! – mostafa8026

+0

OK, Обычно объект захвата может получить int param. Int param означает индекс камеры в вашей системе. Например, если вы используете «Capture _Capture = New Capture (0)»; вы определяете свою системную камеру, номер индекса которой равен нулю. См. Эту страницу для получения более подробной информации: http://www.emgu.com/wiki/files/2.3.0/document/html/0f3099f2-d381-4319-6b31-6c289fb1e744.htm – Kerberos

1

Если вы используете Emgu 3.1, попробуйте следующее:

Capture cameraCapture 
cameraCapture = new Capture("http://user:[email protected]://169.254.255.253"); 
Mat frame = cameraCapture.QueryFrame(); 
imageBox1.Image = frame; 

здесь является класс Capture Справка:

http://www.emgu.com/wiki/files/3.1.0/document/html/5edc4ff8-cec3-c5ee-8e62-629cf4c7940a.htm

Надеется, что это помогает.