Какие библиотеки я должен выбрать при работе с Computer Vision в C/C++?Какая лучшая библиотека для компьютерного зрения в C/C++?
Я понимаю, что Google имеет много хороших результатов, но, возможно, там отличные библиотеки, которые он пропустил.
Какие библиотеки я должен выбрать при работе с Computer Vision в C/C++?Какая лучшая библиотека для компьютерного зрения в C/C++?
Я понимаю, что Google имеет много хороших результатов, но, возможно, там отличные библиотеки, которые он пропустил.
Мы активно используем OpenCV, где я работаю.
Он предлагает полный набор превосходных инструментов обработки зрения. Я рекомендую прочитать через wiki более подробное объяснение и лучшее письменное объяснение, что я бы дал.
OpenCV довольно зрелый и охватывает большинство областей компьютерного зрения.
Мне было бы сложно дать вам технический ответ, который лучше, я могу сказать, что у нас есть множество кандидатов наук, работающих над различными проблемами зрения на компьютер для работы, и все они используют и рекомендуют OpenCV.
openframeworks использует OpenCV и предоставляет обертку для него,
, например, этот код классов, которые помогут вам использовать OpenCV в легком пути:
они не являются различными библиотеками.
Если бы я хотел сравнить OpenCV с openFrameworks - как это получится? Что лучше> на что, и так далее?
как я сказал выше, OF использует opencv, (предоставляя обертку). Они не разные. Мы стараемся обеспечить простоту общения.
Intel Performance Primitives довольно популярен в поле зрения компьютера.
Возможно, это подразумевалось, но исходный вопрос не указывал, что библиотеки являются FOSS. Два ведущих коммерческих библиотек:
И поддержка C++ и предлагают бесплатные 30-дневные испытания.
Многие люди рекомендовали OpenCV, который довольно хорош (я пробовал оболочки python, что хорошо для быстрого прототипирования). Вы также можете ознакомиться с gpuCV, который использует преимущества массивного параллелизма в графическом процессоре для компьютерного зрения. Его API очень похож на тот, который OpenCV имеет (в основном совместимый) и скрывает все программы GPU от пользователя/разработчика.
OpenCV является очень популярным, и нет сомнений в том, что это хорошо, но , если вы серьезно относитесь к C++ и как STL-подобных контейнеров, которые также очень быстро, то это стоит учесть:
libCVD
http://savannah.nongnu.org/projects/libcvd
Проект Главная http://www.edwardrosten.com/cvd/index.html
мерзавец: http://git.savannah.gnu.org/cgit/libcvd.git
Cambridge Video Dynamics - библиотека для изображений, видеозахвата, отображения, компьютерного зрения и многое другое. Интегрирует хорошо с TooN для линейной алгебры. Язык: C++
Это активно развивается и имеет множество полезных функций и алгоритмов, и, как правило, эти ребята делают работу очень быстро.
Это LGPL.
можно скомпилировать его на Win, Linux и MacOS X.
Существует также намерение предоставить порт для Python с этим, чтобы создать прототип компьютерного зрения алгоритмов с Python и SciPy очень быстро (я не уверен, на каком этапе это сейчас, но на конференции Python была опубликована статья.)
Если вы пытаетесь что-либо сделать в режиме реального времени, вам следует серьезно подумать о libCVD.
Например, в структуре библиотеки PTAM (Parallel Tracking And Mapping) от Georg Klein используется эта библиотека.
Последняя запись на сайте, похоже, является бета-версией от 2005 года? –
http://git.savannah.gnu.org/cgit/libcvd.git показывает довольно частые коммиты –
OpenCV, вероятно, самый известный и чрезвычайно зрелый. Но в последнее время наблюдается сдвиг в сторону систем на основе CUDA благодаря преимущества в производительности, http://www.nvidia.com/object/cuda_home.html#
Кроме того, для более безопасных языков, таких как C#, рамки Aforge .NET довольно хорошо,
OpenCV совместимая библиотека на основе GPU https://picoforge.int-evry.fr/cgi-bin/twiki/view/Gpucv/Web/ –
Если вы используете OpenCV, смотрите также http://camellia.sourceforge.net/ (переопределение нескольких функций IPP).
Хотя OpenCV, вероятно, наиболее широко используется несколько других, может быть стоит посмотреть:
http://cimg.sourceforge.net/ очень СТЛ, как высоко шаблонный библиотека. Он содержится в одном заголовке, а дизайн возврата по ссылке означает, что вы можете связать кучу операций вместе в одном выражении. Это поддерживается INRIA (французская национальная исследовательская лаборатория)
http://vxl.sourceforge.net/ очень похож на OpenCV, но имеет более C++-дизайн. Это больше похоже на новую версию C++ для OpenCV2.0.
Для промышленного машинного зрения возможные варианты:
Существуют также более специализированные библиотеки для встроенного зрения машины - например, Vision Components' VCLib и для конкретных задач - например, для распознавания матрицы данных есть libdmtx.
Обратите внимание, что теперь существует привязка python для Halcon, которую я создал. См .: http://github.com/dov/hirsch –
У меня плохой опыт работы с библиотекой изображений Matrox. Не рекомендую, потому что:
Не объектно-ориентированный, сделать труднее поддерживать & поиска и устранения неисправностей/отладочные коды.
Плохая документация/справочное руководство, пояснения неясно/незавершено & отсутствует код. Например, смешение использования десяти различных функций в одном экземпляре короткого кодирования.
При использовании в среде .NET (C#), matrox создает управляемые объекты, которым требуется память , после их использования.
Цена. Помимо лицензии разработчика, необходимо покупать лицензии во время работы для всех своих клиентов.
Плохой формат лицензии - используйте ключ ключа usb. Если вы потеряли ключ, вы потеряли лицензию .
OpenCV автоматически использует IPP, если таковой имеется –