[Nota: Questa è una riscrittura di un earlier question che è stata considerata inappropriata e chiuso.]Raccomandazioni per analisi in tempo reale a livello di pixel della televisione (TV) il video
ho bisogno di fare un po 'di analisi a livello di pixel di televisione (TV) video. La natura esatta di questa analisi non è pertinente, ma fondamentalmente comporta la visualizzazione di ogni pixel di ogni fotogramma di video TV, a partire da un flusso di trasporto MPEG-2. La piattaforma host sarà macchine Linux a 64 bit multiprocessore a livello di server.
Ho bisogno di una libreria in grado di gestire la decodifica del flusso di trasporto e di presentarmi i dati dell'immagine in tempo reale. OpenCV e ffmpeg sono due librerie che sto prendendo in considerazione per questo lavoro. OpenCV è attraente perché ho sentito che ha API facili da utilizzare e un ricco supporto per l'analisi delle immagini, ma non ho esperienza nell'usarlo. Ho usato ffmpeg in passato per estrarre i dati dei frame video dai file per l'analisi, ma manca il supporto per l'analisi delle immagini (sebbene l'IPP di Intel possa essere integrato).
Oltre alle raccomandazioni di carattere generale per gli approcci a questo problema (esclusa l'analisi immagine reale), ho alcune domande più specifiche che mi avrebbe aiutato a iniziare:
- Sono ffmpeg o OpenCV comunemente usati nell'industria come una base per l'analisi video in tempo reale o c'è qualcos'altro che dovrei guardare?
- Can OpenCV può decodificare i fotogrammi video in tempo reale, lasciando comunque sufficiente CPU per eseguire analisi di immagini non banali, anche in tempo reale?
- È sufficiente utilizzare ffpmeg per la decodifica del flusso di trasporto MPEG-2 o è preferibile utilizzare semplicemente una libreria di decodifica MPEG-2 direttamente (e in tal caso, quale)?
- Ci sono particolari formati di pixel per i frame di output che ffmpeg o OpenCV è particolarmente efficiente nella produzione (come RGB, YUV o YUV422, ecc.)?
Molte delle domande relative alle prestazioni che hai chiesto dipendono esclusivamente dall'hardware che stai utilizzando. – karlphillip
@karlphillip Mi rendo conto che la scelta della piattaforma avrà un impatto sulle prestazioni, ma non influirebbe ugualmente su tutte le opzioni della libreria? Altrimenti, e puoi parlare di come una scelta di piattaforma potrebbe avvantaggiare una biblioteca più di un'altra, per favore condividi. L'hardware non è stato ancora acquistato, quindi questa informazione è preziosa. –
Ho fatto analisi di fotogrammi webcam in tempo reale con opencv usando il wrapper C++. È passato attraverso ogni pixel e controllato il colore, è stato piuttosto veloce, perché sono stato in grado di eseguire altre applicazioni come Opera e un'applicazione di visualizzazione 3D. Lavorando su Linux. –