Domanda

Io sono solo l'apprendimento di computer vision e C#.Sembra che due di spicco di image processing sono OpenCV e AForge.Quali sono le differenze tra le due?

Io sto facendo un editor di immagini di base in C# e durante la ricerca mi sono imbattuto in articoli su entrambi.Ma io non so davvero perché vorrei scegliere uno sopra l'altro.Vorrei, infine, migliorare la app per includere funzioni più avanzate.

Grazie.

È stato utile?

Soluzione

Sto usando OpenCV per un progetto a scuola in questo momento, e ho passato in rassegna la documentazione per AForge e la loro caratteristica sembrano differire. AForge ha un sacco di filtri ed è probabilmente eccellente per diverse trasforma e la manipolazione delle immagini. Ma sembra mancare un po 'in altri settori. Non riuscivo a trovare qualsiasi operazione di matrice che è stata una delusione perché è così utile in computer vision. Il nostro progetto attuale (3D ricostruzione nuvole di punti da una sequenza di immagini) sarebbe, per quanto ho potuto vedere dalla documentazione, impossibile da fare con solo AForge.

Unire AForge con una buona biblioteca di algebra lineare e si potrebbe avere qualcosa di veramente utile però.

Per quanto riguarda OpenCV ha un ricco set di funzionalità, ma è un po 'difficile da programmare con.

Altri suggerimenti

Bene, perché non si utilizza sia ;) ??

Sto usando (letteralmente in C# ...lol) EMGUCV.NET (che è un OpenCV C# wrapper) e AFORGE.NET allo stesso tempo:

AFORGE.NET più la sua "Image Processing Lab" rende molto senso per le opzioni di filtraggio (edge detection, soglie, e così via) e per agevolare la visualizzazione di funzionalità.

Matlab fornisce tutto il resto come VAGLIARE/SURF e altre immagini più sofisticate routine di elaborazione.

Ecco perché si utilizza .NET:semplicemente portare tutti i componenti necessari insieme in una sola applicazione :)

Se volete migliorare la vostra applicazione con funzioni sempre più avanzate come hai detto tu, mi piacerebbe andare per OpenCV- tuttavia, una parte del vostro successo dipende dal fatto che la porta C # è attivamente aggiornato, che shouldn' t è molto guai considerando le tre porte. Penso EmguCV sembra essere uno dei migliori in questo momento in termini di aggiornamento, ma quando ho guardato a esso, è priva di documentazione (ma probabilmente si potrebbe tradurre il codice C ++ in C # con una certa conoscenza C ++). AForge sembra molto più facile per me ed è quello che sto usando in questo momento. OpenCV ha anche il supporto per i file haarcascade.xml è possibile utilizzare che comprendono il rilevamento del viso.

Quindi, per l'adozione finale: entrambi si adattano bene, OpenCV è più ampiamente usata / sostenuto (anche se la maggior base di utenti è C ++), AForge è più facile. Tutto si riduce a ciò che si vuole fare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top