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

Матлаб против Афонха против OpenCV

Я собираюсь начать проект по визуальной обработке изображений и не имел опыта работы с Matlab, Aforge, OpenCV и задавался вопросом, имел ли кто-нибудь опыт в этих различных пакетах программного обеспечения.

Я также задавался вопросом, какой из трех пакетов был наиболее эффективным. Я предполагаю, что OpenCV, но кто-нибудь имел какой-либо опыт?

Спасибо

Джейми.

4b9b3361

Ответ 1

Вопрос, который вам нужно задать самому себе, - это то, что важнее - ваше время или компьютерное время. Если ваша задача действительно проста, вы можете ее закодировать в MATLAB и работать с самого начала. MATLAB на сегодняшний день является самым легким в разработке - скриптовый язык со встроенным управлением памятью, огромный набор предоставляемых функций и отличный интерфейс для отображения и управления данными во время отладки.

С другой стороны, MATLAB по крайней мере на порядок медленнее, чем скомпилированный код openCV для многих задач. Это особенно актуально, если вы используете библиотеки примитивов производительности Intel.

Если вы знаете, как закодировать в MATLAB, я бы предложил написать и отладить ваши алгоритмы на этом языке, а затем перенести их на c/С++ с помощью openCV для скорости. Если вам нужно только несколько простых функций, которые вам нужно ускорить, вы можете вызвать c-код из MATLAB, но это трудно сделать, чтобы это работало в первые несколько раз, когда вы его пытаетесь, поэтому вам, вероятно, лучше просто переписать полностью законченный код в c/С++

Ответ 2

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

Вообще,

Оба AForge и OpenCV имеют встроенный интерфейс для .Net и OpenCV также с С++, python и т.д. Matlab может быть более эффективным, но если у вас нет опыта с ним, вы также должны изучить его синтаксис. Примите это во внимание.

Matlab, вероятно, имеет самое большое множество функций, но это сложнее, чем другие проекты. У самих OpenCV и AForge есть некоторые отличия - см. Их в этом вопросе StackOverflow .

Ответ 3

Я работал в прошлом году в двух подобных проектах с автомобилями на шоссе. Afaik, Matlab позволяет обрабатывать только один кадр изображения за раз (возможно, вы могли бы разработать алгоритм для вычисления потока), но с помощью Simulink вы можете напрямую обрабатывать поток.

С другой стороны, я нашел AForge намного дружелюбнее и удобнее в использовании, так как вы можете легко настроить параметры обработки из графического интерфейса (не так быстро/легко), чтобы сделать это в Matlab/simulink.

Я бы пошел на Aforge.Net. Это также достаточно быстро, если вы беспокоитесь о скорости обработки. (с использованием 640x480)

Ответ 4

Если вы просите об использовании одного из них в .net, вы можете получить информацию по этому поводу:

1-matlab в основном используется для моделирования проектов, а не для проекта End-prototype; мой номер: 30;

2-aforge (как я использовал во многих проектах), если вам не нужен круговой процесс, такой как захват изображения или распознавание чего-либо на изображениях или... вы найдете его очень хорошим, потому что это легко использовать, но полезно для отдельных процессов; мой номер: 50

3-opencv очень хорош на скорости и полезен для круговых процессов, например, вы можете захватывать изображения с веб-камеры и мгновенно мультиплицировать их без каких-либо задержек, но не просты в использовании, как aforge. Мне все равно нравится его скорость и МНОГИЕ функции, которые он дает нам в основном все, что нам нужно в программировании; мой номер: 80

Dr.Taha - Tahasoft.net