Disclaimer : ho pubblicato questa domanda su StackOverFlow ma ho appreso che qui è più adatto.
Sono un po 'nuovo nell'elaborazione delle immagini, quindi vorrei chiederti di trovare la soluzione ottimale per il mio problema, non di aiuto per il codice. Non riuscivo a pensare a una buona idea, ma volevo chiedere il tuo consiglio.
Sto lavorando a un progetto usando OpenCV per contare i veicoli da un file video o una videocamera live. Altre persone che lavorano su un progetto del genere generalmente tengono traccia degli oggetti in movimento, quindi li contano, ma invece di quello, volevo lavorare con un punto di vista diverso; chiedendo all'utente di impostare un ROI (Regione di interesse) sulla finestra del video e di lavorare solo per questa regione (per alcuni motivi, come non occuparsi dell'intero frame e un aumento delle prestazioni), come mostrato di seguito. (L'utente può impostare più di un ROI e all'utente viene chiesto di impostare l'altezza del ROI circa due volte di un'auto normale in base al senso della proporzione.)
Finora ho fatto alcuni progressi di base, come l'aggiornamento dello sfondo, i filtri morfologici, il limite e ottenere l'oggetto in movimento come immagine binaria come qualcosa di seguito.
Dopo averli fatti, ho provato a contare i pixel bianchi del fotogramma di primo piano con soglia finale e stimare se si trattava di un'auto o meno controllando il numero totale di pixel bianchi (ho impostato un limite inferiore da un calcolo statico conoscendo l'altezza del ROI) . Per illustrare, ho disegnato un esempio grafico:
Come puoi vedere, è stato facile calcolare i pixel bianchi e controllare se traccia una curva nel tempo e determinare se un'auto o qualcosa di simile al rumore.
Problema
Ho avuto un discreto successo fino a quando due macchine non hanno superato il mio ROI contemporaneamente. Il mio algoritmo li ha erroneamente contati come una macchina. Ho provato approcci diversi per questo problema e simile a questo come i veicoli lunghi, ma non ho trovato una soluzione soddisfacente.
Domanda
È possibile gestire questa attività con questo approccio al conteggio del valore dei pixel? In caso contrario, cosa suggerisci?