Вопрос

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

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

Спасибо.

Это было полезно?

Решение

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

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

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

Другие советы

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top