Sep 9, 2009

OpenCV: IP-камера AXIS

Для того, чтобы использовать OpenCV под .NET, подключаю обертку EMGU CV. Эта обертка пока лучшая из тех, что я встречал, но не без глюков.

Контекст IP-камеры создается следующим образом. Создается потомок Capture:

private class IpCapture: Capture
{
[DllImport("opencv_ffmpeg111.dll", CharSet = CharSet.Ansi)]
private static extern IntPtr cvCreateFileCapture_FFMPEG([MarshalAs(UnmanagedType.LPStr)] string filename);

[DllImport("opencv_ffmpeg111.dll", CharSet = CharSet.Ansi)]
private static extern void cvReleaseCapture_FFMPEG(IntPtr capture);

public IpCapture(string fileName)
{
_ptr = cvCreateFileCapture_FFMPEG(fileName);
if (_ptr == IntPtr.Zero)
{
throw new NullReferenceException("Error: Unable to create capture from camera");
}
}

protected override void DisposeObject()
{
base.DisposeObject();
cvReleaseCapture_FFMPEG(_ptr);
}
}




Затем создается объект, используя url-камеры:




private static Capture _cameraCapture;
...
_cameraCapture = new IpCapture("http://webcam.oii.ox.ac.uk/mjpg/video.mjpg");


Ну а дальше работаем как с обычной USB-камерой или видеофайлом.

9 comments:

  1. Здраствуйте! Что за "opencv_ffmpeg111.dll" неизвестная DLL используется в вашем примере)?

    ReplyDelete
  2. Скачайте emgu. В состав пакета входит входит данная DLL (emgucv\opencv\interfaces\ffopencv\).
    Обращаю Ваше внимание на то, что номер версии opencv_ffmpeg*.dll может быть отличаться от 111.

    ReplyDelete
  3. Выложите пожалуйста для скачивания lib-файл, и dll очень нужно)
    Скачал какую то версию, но там она уже под OpenCV 2.0

    ReplyDelete
  4. Если Вам необходима именно эта версия, то заберите, пожалуйста, из SVN https://emgucv.svn.sourceforge.net/svnroot/emgucv/trunk ревизию 579. После компиляции проекта Вы получите и dll, и lib

    ReplyDelete
  5. Это сложно( у меня не получилось, тем более пишу по C++ Builder.

    Будьте добры, если у кого ни будь получилось выложите пожалуйста. dll и lib.

    ReplyDelete
  6. скачай Видео уроки на русском по EmguCv на сайте
    www.o-eit.com

    ReplyDelete
  7. У меня не получается, Emgu 3.0, ошибка вреени выполнения в строке _ptr = cvCreateFileCapture_FFMPEG(fileName); Неверный формат строки. Пробовала разные варианты с адресом камеры "http://webcam.oii.ox.ac.uk/mjpg/video.mjpg" - не выходит. Помогите, пожалуйста1

    ReplyDelete
  8. Quality Of Service, being something new oftens makes people automatically think of using pre-existing measurement techniques. This basic starting point for QOS measurement is where most of the confusion is generated. iptv uk

    ReplyDelete
  9. I’m going to read this. I’ll be sure to come back. thanks for sharing. and also This article gives the light in which we can observe the reality. this is very nice one and gives indepth information. thanks for this nice article... iptv

    ReplyDelete