2008-09-15 11 views

ответ

36

Мы активно используем OpenCV, где я работаю.

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

6

OpenCV довольно зрелый и охватывает большинство областей компьютерного зрения.

3

Мне было бы сложно дать вам технический ответ, который лучше, я могу сказать, что у нас есть множество кандидатов наук, работающих над различными проблемами зрения на компьютер для работы, и все они используют и рекомендуют OpenCV.

1

openframeworks использует OpenCV и предоставляет обертку для него,

, например, этот код классов, которые помогут вам использовать OpenCV в легком пути:

http://svn.openframeworks.cc/browser/listing.php?repname=addons&path=%2FofxOpenCv%2Ftrunk%2FofxOpenCv%2Fsrc%2F#_ofxOpenCv_trunk_ofxOpenCv_src_

они не являются различными библиотеками.

1

Если бы я хотел сравнить OpenCV с openFrameworks - как это получится? Что лучше> на что, и так далее?

как я сказал выше, OF использует opencv, (предоставляя обертку). Они не разные. Мы стараемся обеспечить простоту общения.

3

Intel Performance Primitives довольно популярен в поле зрения компьютера.

+0

OpenCV автоматически использует IPP, если таковой имеется –

3

Возможно, это подразумевалось, но исходный вопрос не указывал, что библиотеки являются FOSS. Два ведущих коммерческих библиотек:

И поддержка C++ и предлагают бесплатные 30-дневные испытания.

1

Многие люди рекомендовали OpenCV, который довольно хорош (я пробовал оболочки python, что хорошо для быстрого прототипирования). Вы также можете ознакомиться с gpuCV, который использует преимущества массивного параллелизма в графическом процессоре для компьютерного зрения. Его API очень похож на тот, который OpenCV имеет (в основном совместимый) и скрывает все программы GPU от пользователя/разработчика.

11

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 используется эта библиотека.

+4

Последняя запись на сайте, похоже, является бета-версией от 2005 года? –

+0

http://git.savannah.gnu.org/cgit/libcvd.git показывает довольно частые коммиты –

0

OpenCV, вероятно, самый известный и чрезвычайно зрелый. Но в последнее время наблюдается сдвиг в сторону систем на основе CUDA благодаря преимущества в производительности, http://www.nvidia.com/object/cuda_home.html#

Кроме того, для более безопасных языков, таких как C#, рамки Aforge .NET довольно хорошо,

+0

OpenCV совместимая библиотека на основе GPU https://picoforge.int-evry.fr/cgi-bin/twiki/view/Gpucv/Web/ –

1

Хотя OpenCV, вероятно, наиболее широко используется несколько других, может быть стоит посмотреть:

http://cimg.sourceforge.net/ очень СТЛ, как высоко шаблонный библиотека. Он содержится в одном заголовке, а дизайн возврата по ссылке означает, что вы можете связать кучу операций вместе в одном выражении. Это поддерживается INRIA (французская национальная исследовательская лаборатория)

http://vxl.sourceforge.net/ очень похож на OpenCV, но имеет более C++-дизайн. Это больше похоже на новую версию C++ для OpenCV2.0.

4

Для промышленного машинного зрения возможные варианты:

Существуют также более специализированные библиотеки для встроенного зрения машины - например, Vision Components' VCLib и для конкретных задач - например, для распознавания матрицы данных есть libdmtx.

+0

Обратите внимание, что теперь существует привязка python для Halcon, которую я создал. См .: http://github.com/dov/hirsch –

2

У меня плохой опыт работы с библиотекой изображений Matrox. Не рекомендую, потому что:

  1. Не объектно-ориентированный, сделать труднее поддерживать & поиска и устранения неисправностей/отладочные коды.

  2. Плохая документация/справочное руководство, пояснения неясно/незавершено & отсутствует код. Например, смешение использования десяти различных функций в одном экземпляре короткого кодирования.

  3. При использовании в среде .NET (C#), matrox создает управляемые объекты, которым требуется память , после их использования.

  4. Цена. Помимо лицензии разработчика, необходимо покупать лицензии во время работы для всех своих клиентов.

  5. Плохой формат лицензии - используйте ключ ключа usb. Если вы потеряли ключ, вы потеряли лицензию .