Различия между AForge и OpenCV

Я только изучаю компьютерное зрение и C#. Похоже, что две выдающиеся библиотеки обработки изображений OpenCV и AForge. Какие различия двух?

Я делаю базовый редактор изображений на C# , и во время исследования я наткнулся на статьи по обоим. Но я действительно не знаю, почему я выбрал одно вместо другого. Я хотел бы в конечном итоге улучшить приложение, чтобы включить более продвинутый функции.

спасибо.

3 ответов


Я использую OpenCV для проекта в школе прямо сейчас, и я просмотрел документацию для AForge, и их функция, похоже, отличается. AForge имеет множество фильтров и, вероятно, отлично подходит для различных преобразований и обработки изображений. Но, похоже, его не хватает в других областях. Я не мог найти никаких матричных операций, которые были бы разочарованием, так как это так полезно в компьютерном зрении. Наш текущий проект (3D-реконструкция облака точек из последовательности изображений), насколько я мог бы смотрите из документов, невозможно сделать с AForge в одиночку.

объедините AForge с хорошей библиотекой линейной алгебры, и у вас может быть что-то действительно полезное.

Что касается OpenCV, он имеет богатый набор функций,но немного сложно программировать.


Ну, почему бы не использовать оба ;)??

Я использую (буквально на C# ... lol) EMGUCV.NET (который является оболочкой OpenCV C#) и AFORGE.NET в то же время:

AFORGE.NET плюс его "лаборатория обработки изображений" имеет смысл для фильтрации параметров (обнаружение края, пороги и т. д.) и облегчения функций просмотра.

OpenCV предоставляет все остальное, как просеять / SURF и другие более сложные процедуры обработки изображений.

вот почему вы используете .NET: просто объедините все необходимые компоненты в одном приложении:)


Если вы хотите улучшить свое приложение с помощью все более продвинутых функций, как вы сказали, я бы пошел на OpenCV-однако часть вашего успеха зависит от того, что порт C# активно обновляется, что не должно быть большой проблемой, учитывая три порта. Я думаю EmguCV Кажется, один из лучших прямо сейчас с точки зрения обновления, но когда я посмотрел на него, не хватает документации (но вы, вероятно, могли бы перевести код C++ на C# с некоторыми знаниями C++). AForge кажется намного проще для меня, и это то, что я использую прямо сейчас. OpenCV также поддерживает haarcascade.xml-файлы, которые можно использовать, включают распознавание лиц.

Итак, для окончательного взятия: оба подойдут вам хорошо, OpenCV более широко используется / поддерживается (хотя большинство пользователей-C++), AForge проще. Все сводится к тому, что ты хочешь сделать.