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

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

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

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

Спасибо.

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

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

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

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

Вот почему вы используете .NET: просто принесите все компоненты, которые вам нужны, в одном приложении:)

Ответ 3

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

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