Domanda

sto studiando nella zona di immagini e video - in particolare nel campo del pattern recognition (oggetti, persone, ecc). Vorrei utilizzare un linguaggio di programmazione per applicare la trasformazione di immagini e video (soprattutto video). Sto pensando di utilizzare C ++ in Xcode per fare questo. Gli algoritmi che voglio costruire voglio prendere i dati dal web (video esempio presentate) - elaborarli e poi dare un output. La mia domanda ha diverse parti:

(1) Se C ++ il linguaggio migliore per farlo in? questo può essere fatto in Python? (Sto cercando di indovinare C ++ è più veloce di Python e può probabilmente gestire file più grandi / più intenso algos)

(2) Qual è il modo migliore per la creazione di un progetto di questo in Xcode - si tratta di un diritto (A) del progetto della riga di comando strumenti "vanilla" o devo andare per (B) un'applicazione Cocoa in Objective C ? (Ho bisogno di imparare Obj-C)

Il mio obiettivo a breve termine è quello di scrivere alcuni alorithms semplici e vedere come funzionano in video. Poi, per agganciare questo in su (al back-end) per una GUI front end web (in modo da poter inviare i video per il mio codice). I volumi wont essere enorme -. Ma le dimensioni dei file possono essere notevoli

Tutta la comprensione sarà enormemente apprezzato.

Max.

È stato utile?

Soluzione

Se si sceglie di utilizzare C ++ (che sembra sinsible per questo scenario) si dovrebbe verificare questi link:

  • IPP - utile anche per i processori non Intel, soprattutto in combinazione con il processore Intel C ++, ma è costoso
  • Intel offre molti strumenti che sono utili per Parallelizzazione numero ad alte prestazioni sgranocchiare (roba CPU bound), ad esempio, TBB e OpenMP (credo che non si è Intel)
  • OpenCV è utile per voi

La speranza che aiuta un po '.

Altri suggerimenti

Il mio consiglio è quello di ottenere un prototipo funzionante in python, e quindi utilizzare l'integrazione di pitone di spinta per riscrivere le parti ad alta intensità di prestazioni in C ++, una volta che avete il vostro algoritmo di lavoro.

Se si desidera specializzarsi in questo settore, utilizzare C ++ per le parti algoritmici subito - si dovrà imparare a fare utilizzare C ++ in modo efficiente in ogni caso

.

Per quanto riguarda il tipo di progetto - non ha molta importanza, anche se si dovrebbe scegliere di cacao, se si vuole avvolgere una bella GUI attorno all'applicazione tardi e l'applicazione a riga di comando se non è necessario
. Per utilizzare C ++ sua irrilevante, è possibile mescolare in sorgenti C ++ da nessuna parte se si guarda fuori per alcuni avvertimenti. con C ++ con Objective-C dà qualche informazione in questo.

1) Se si sa quale lingua potrebbe uso, imparare che. C ++ è veloce, ma è un linguaggio profondo. Fortunatamente, è popolare, e si dovrebbe essere in grado di trovare facilmente aiuto su di esso. La scelta sta a voi; ci sono le librerie che desideri utilizzare? Che lingua usano? Io sono di parte, ma mi sento di raccomandare C ++ su C (mi rendo conto che non è quello che hai chiesto).

2) a) Command Line Tool: C ++. Questo sarà complesso sufficiente, non c'è bisogno di aggiungere interfacce Cocoa / Objective-C e degli utenti in complessità. Quando si dispone di un algoritmo di lavoro, aggiungerlo a una biblioteca. Ricordarsi di creare test casi.

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