.Net (dotNet) обертки для OpenCV? [закрытый]



Я видел несколько из них. opencvdotnet,SharperCV,EmguCV,один на код проекта.



есть ли у кого-нибудь опыт работы с любым из них? Я немного поиграл с одним из проектов кода, но как только я попытался сделать что-то сложное, я получил некоторые неприятные неуловимые исключения (т. е. исключения Msgbox). Кросс-платформа (поддерживает моно) будет лучше всего.

636   8  

8 ответов:

Я начал с opencvdotnet, но он больше не очень активно развивается. Кроме того, поддержка функции, в которой я нуждался (facedetection), была неоднородной. Я использую EmguCV теперь: он обертывает гораздо большую часть API, и парень за ним очень отзывчив на предложения и запросы. Код-это радость смотреть и, как известно, работает на моно.

Я написал быстро руководство по началу работы на моем блоге.

мы используем:OpenCVSharp веб-сайт Google-код на японском языке, но он использует новейшие использованием OpenCV строит и предпринимательства, осуществляет IDisposable, который на протяжении. Кажется, что он обеспечивает больше functioanlity, чем любой из других, которые мы видели на сегодняшний день, и все еще активен. Он также имеет довольно обширные примеры программ.

Я думаю, что важно отметить, что исходный вопрос был задан в 2008, и OpenCV 2.0 был выпущен в 2009. В версии 2.0 появилась оболочка C++, с которой значительно проще работать, чем с более старым интерфейсом C, с которым столкнулся OP. Для моего проекта .NET я оставляю все графические манипуляции в родном C++.

попробуйте это: создайте проект DLL C++/CLR, который ссылается на библиотеки OpenCV. Руководство OpenCV описывает, как это сделать для Windows C++ EXE, те же шаги также работают для DLL C++/CLR. Тогда, конечно, DLL экспортирует методы, которые можно вызвать из .NET EXE.

чтобы проверить его, вы должны быть в состоянии включить любой из образцов OpenCV в вашу DLL с небольшой настройкой. (Добавьте .CPP-файл в ваш проект, преобразуйте функцию main () в член класса и т. д. - ты же знаешь правила...) Хорошим кандидатом на тест может быть "mat_mask_operations" образец.

OpenCV.NET доступно из NuGet

https://bitbucket.org/horizongir/opencv.net

https://www.nuget.org/packages/OpenCV.Net

вот список возможностей с сайта проекта:

OpenCV.NET представляет собой интерфейс .NET для популярного компьютерного зрения и изображения OpenCV библиотека обработки. Эти привязки были разработаны в течение года и включают в себя множество функций, которые были отсутствует в других попытках, а именно:

  • кросс-платформенная моно совместимость (используется только P/Invoke)
  • очень близко к 100% поддержка последних C API (включая недокументированные функции)
  • полная документация / intellisense для всех поддерживаемых методов, классов и членов перечисления (с трудом добытых из разных источников)
  • поддержка исключений
  • мусоросборник дружелюбный:
    • GC знает о фактической памяти, используемой матрицами и изображениями
    • указатели гарантированно выживают вызовы функций, даже если параллельная сборка мусора происходит
  • объектная модель, следующая за C++ API, насколько это возможно (к будущей расширенной поддержке C++ API)
  • лицензия BSD-style (MIT)

Я создал пакет NuGet, чтобы легко начать с OpenCv в C#, используя EmguCV.

зацените! В Visual Studio найдите и добавьте myEmguCV.Net пакет NuGet.

https://www.nuget.org/packages/myEmguCV.Net

Я думаю, что лучшая обертка-это opencvsharp http://code.google.com/p/opencvsharp/

SharperCV был нашим инструментом выбора, и это не подводит нас, для наших проект Робототехника. Несмотря на то, что в настоящее время он помечен как заброшенный, код находится в очень хорошей форме, требует только незначительной настройки, чтобы настроить его для ваших нужд. Нет msgboxes, и на самом деле очень вменяемая обработка исключений.

Не кросс-платформенный, хотя, из-за уровня совместимости.

Я знаю, что на этот вопрос был дан ответ в течение длительного времени, но я хотел бы добавить, что есть очень хорошая обертка здесь. Это новая версия оболочки openCV, которую вы пробовали на проект Код. Я пробовал его в течение нескольких дней, и все работает идеально. Кроме того, я получил его работу в течение нескольких минут.

Я не знаю для совместимости с моно, но под Visual Studio 2010, он работает как шарм и спас меня тонны времени и денег (мой проект является коммерческим и большая часть библиотеки с открытым исходным кодом с лицензией, которая не позволяет коммерческое использование без публикации кода)

Comments

    Ничего не найдено.