SDev.Pro - разработка на заказ

http://sdev.pro - это:

1) Разработка программного обеспечения

Мы используем платформы ASP.NET MVC, LAMP, Atmel, Android, iOS, DirectShow и базы данных MS SQL, Oracle, PostgreSQL, а также облака на MS Azure и Amazon AWS для реализации любых Ваших идей.

2)Внедрение программного обеспечения

Мы предлагаем настройку и доработку решений на базе систем электронного документооборота MS SharePoint Server, геоинформационных систем на GeoServer, систем отчетности на MS SQL Reporting Services, а также облачных решений на MS Office 365.

http://sdev.pro

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-камерой или видеофайлом.

7 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