Подтвердить что ты не робот

.Net(dotNet) для OpenCV?

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

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

4b9b3361

Ответ 1

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

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

Ответ 2

Мы используем OpenCVSharp, веб-сайт google code на японском языке, но он использует последние сборки OpenCV и импликации IDisposable повсюду. Похоже, что она обеспечивает большую функциональность, чем любая другая, которую мы видели на сегодняшний день, и все еще активна. Он также имеет довольно обширные примеры программ.

Ответ 3

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

Попробуйте следующее: создать проект С++/CLR DLL, который связывается с библиотеками OpenCV. В руководстве OpenCV описано, как это сделать для Windows С++ EXE, те же действия также выполняются для библиотеки С++/CLR. Затем, конечно, DLL экспортирует методы, которые можно вызывать из .NET EXE.

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

Ответ 4

OpenCV.NET доступен в NuGet

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

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

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

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

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

Ответ 5

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

Проверьте это! В Visual Studio выполните поиск и добавьте пакет myEmguCV.Net NuGet.

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

Ответ 7

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

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

Ответ 8

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

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