View Single Post
Old 21-11-2013, 19:13   #3
LMCH
Senior Member
 
Iscritto dal: Jan 2007
Messaggi: 6324
Quote:
Originariamente inviato da Tux89 Guarda i messaggi
Scusate, quale sarebbe il vantaggio di creare una nuova libreria? Non basta opencv?
OpenCV fornisce sia funzionalità ad alto livello che a basso livello, è bella massiccia ed include anche moduli che in USA sono protetti da brevetto (es: SIFT).

OpenVX invece è pensata per fornire le funzionalità "di base" (tipo un driver crossplatform) di elaborazione per applicazioni di visione computazionale
ed include (almeno per ora) solo funzionalità non coperte da brevetti.

Attualmente OpenCV su hardware "normale" implementa da se tutte le funzionalità e supporta anche l'accelerazione ad hoc di alcune di esse in base al processore o sfruttando OpenCL oppure CUDA.

Ma sebbene OpenCV abbia un sacco di versioni ottimizzate per le funzioni a basso livello, supporta solo le configurazioni più comuni (sarebbe troppo difficile supportarle tutte) e diventa sempre più difficile supportare al 100% delle funzionalità tutti i nuovi SoC che escono sul mercato.

OpenVX fornisce quindi sia una serie di funzioni di base iper-ottimizzate (si spera) dal produttore dell'hardware o del S.O. che possono essere utilizzate sia direttamente da applicazioni "che fanno roba relativamente semplice" e sia da librerie come OpenCV che implementano anche funzionalità molto più avanzate appoggiandosi su OpenVX come già fanno con OpenCl e CUDA.

Il vantaggio di OpenVX rispettoa CUDA ed OpenCL è che le sue funzioni di basso livello sono maggiormente ottimizzate per la visione computazionale
(OpenCL magari è più veloce di usare solo la cpu, ma non ha certe
ottimizzazioni specifiche che servono solo per la visione computazionale)
e possono sfruttare meglio le caratteristiche specifiche di un certo SoC
(es: distribuzione dell'elaborazione tra i core ARM e la GPU, ottimizzazione a blocchi che sfrutta al massimo la gerarchia delle cache, ecc.).
LMCH è offline   Rispondi citando il messaggio o parte di esso
 
1