2010-08-17 10 views
19

Come sviluppatore pratico mi piacerebbe creare un buon algoritmo per il mio compito specifico, costruito a partire da blocchi, come un 'boundary extraction', o 'gamma correction' e così via, ma non voglio implementare la ruota, fare tutte queste cose, quindi vago - se c'è una potente libreria CV, come OpenCV di C++?Qual è la migliore libreria di visione per computer java pura open source?

Dire "il migliore", voglio dire biblioteca aventi seguenti proprietà:

  • Lotto di diversi algoritmi implementato
  • estensibilità - posso creare cose nuove in termini di biblioteca
  • alte prestazioni
  • Sicurezza filo
+2

Puoi spiegare esattamente cosa significa "meglio" per te. –

+0

Grazie, aggiungerò questa descrizione –

risposta

11

Sciamano, Ho cercato molto tempo per una libreria di elaborazione immagini paragonabile a opencv in Java. Per la quantità di attività automatiche che opencv esegue, non c'è nulla che si avvicini ad esso per le applicazioni di tipo visione artificiale avanzate.

In termini di elaborazione delle immagini anche se imagej ha una grande quantità di algoritmi e plugin preimplementati. Uso sempre questa libreria per pre-elaborare le cose che devo inviare alle utilità di visione del computer di opencvs. Questo è anche open source con semplici modi di aggiungere funzionalità aggiuntive tramite plugin o manipolazioni dirette, quindi penso che potrebbe soddisfare la maggior parte delle vostre esigenze.

30

potreste essere interessati a una libreria Java puro open source computer vision ho in via di sviluppo, BoofCV. BoofCV supporta molte operazioni comuni di elaborazione delle immagini, rilevamento avanzato delle funzioni, denoising delle wavelet, calibrazione della videocamera, visione stereo e struttura dal movimento. È anche molto veloce. Attualmente ha l'implementazione SURF più veloce di qualsiasi libreria open source, inclusi quelli C/C++. In termini di velocità, è molto competitivo con OpenCV per gli algoritmi di visione di medio e alto livello. OpenCV è ovviamente più veloce per l'elaborazione delle immagini di basso livello.

Sito web: http://boofcv.org

OpenCV vs BoofCV: http://boofcv.org/index.php?title=Performance:OpenCV:BoofCV

SURF Prestazioni Studio: abbastanza http://boofcv.org/index.php?title=Performance:SURF

Ok marcatura. Ragazzi, spero che vi piaccia!

  • Gran parte del codice è già presente, manca solo un paio di componenti.
+2

+1 Questo è molto interessante. Mi chiedo se ha templateMatching() da openCV. – KJW

+0

Non so come hai testato le prestazioni ma qualcosa non si sta sommando.Mi piacciono molto Java e C#, ma conosco fin troppo bene alcuni dei loro punti deboli delle prestazioni per l'elaborazione dei dati. Sia Java che C# hanno un intrinseco indebolimento delle prestazioni nell'analisi di array perché ** ogni ** accesso a un singolo array deve essere racchiuso in un controllo sui limiti dell'array per soddisfare le garanzie della lingua. Per ogni loop limitato su dati di array (come un'immagine) questo overhead diventa piuttosto significativo. Il codice sorgente –

+2

è disponibile. eseguilo tu stesso, ho avuto altri conferma i miei risultati SURF. Fondamentalmente si sta partendo dal presupposto che entrambi i set sono codice equivalente, che non sono ... Si vedono i problemi di cui si sta parlando in semplici operazioni a basso livello di array e le librerie C/C++ lo dominano. –

Problemi correlati