Sto lavorando a un progetto di creazione di immagini e capisco che ci sono diversi approcci per gestire il contrasto e la luminosità di un'immagine. Potrei ovviamente affrontare questo problema prima ancora che io abbia cucito l'immagine, ma il risultato non è così coerente come spero. Quindi la mia domanda è se è possibile per qualche motivo "bilanciare" o piuttosto "equalizzare" il contrasto e la luminosità delle immagini a colori dopo che i punti sono stati realizzati?Bilanciamento del contrasto e della luminosità tra le immagini cucite
risposta
Si desidera determinare la funzione di equalizzazione dell'istogramma non da tutte le immagini, ma dalla zona in cui toccheranno o si sovrapporranno. Ovviamente vuoi avere istogrammi identici nell'area di sovrapposizione, quindi è qui che si calcolano le funzioni. Quindi si applicano le funzioni di equalizzazione che lo compiono su tutte le immagini. Se hai più di due punti, vuoi comunque avere l'equalizzazione globale in anticipo e quindi utilizzare un'applicazione ponderata delle funzioni di equalizzazione sovrapposizione che diminuisce l'impatto man mano che ti allontani dal bordo cucito.
Mi scuso se questo è già ovvio per voi, ma la vostra domanda generale mi porta a una risposta generale.
Si consiglia di dare un'occhiata allo Exposure Compensator class fornito da OpenCV.
compensazione dell'esposizione avviene in 3 fasi:
Crea la tua esposizione compensatore
Ptr<ExposureCompensator> compensator = ExposureCompensator::createDefault(expos_comp_type);
È ingresso tutte le immagini insieme con i primi curve a sinistra di ciascuna di esse. Puoi lasciare le maschere completamente bianche per impostazione predefinita, a meno che tu non voglia specificare alcune parti dell'immagine su cui lavorare.
compensator->feed(corners, images, masks);
ora ha tutte le informazioni di come le immagini si sovrappongono, è possibile compensare ogni immagine singolarmente
compensator->apply(image_index, corners[image_index], image, mask);
L'immagine compensata saranno memorizzati in image
Puoi per caso mostrarmi un esempio pratico? Capisco i concetti, ma implementato in OpenCV sono un po 'perso. – JavaCake