Ho cercato di fondere due immagini. L'approccio attuale che sto prendendo è che ottengo le coordinate della regione di sovrapposizione delle due immagini, e solo per le regioni sovrapposte, mi mischio con un alfa di 0,5, con codice di massa, prima di aggiungerlo. In pratica, sto semplicemente prendendo metà del valore di ogni pixel dalle regioni sovrapposte di entrambe le immagini e aggiungendole. Questo non mi dà una miscela perfetta perché il valore alfa è hardcoded a 0.5. Ecco il risultato della fusione di 3 immagini:Come ottenere il giusto valore alfa per unire perfettamente due immagini?
Come si può vedere, la transizione da un'immagine all'altra è ancora visibile. Come ottengo il perfetto valore alfa che eliminerebbe questa transizione visibile? O non c'è niente di simile, e sto prendendo un approccio sbagliato?
Ecco come Attualmente sto facendo la fusione:
for i in range(3):
base_img_warp[overlap_coords[0], overlap_coords[1], i] = base_img_warp[overlap_coords[0], overlap_coords[1],i]*0.5
next_img_warp[overlap_coords[0], overlap_coords[1], i] = next_img_warp[overlap_coords[0], overlap_coords[1],i]*0.5
final_img = cv2.add(base_img_warp, next_img_warp)
Se qualcuno volesse dare un colpo, qui ci sono due immagini deformate, e la maschera della loro regione di sovrapposizione: http://imgur.com/a/9pOsQ
La fonte immagini sembrano essere pre-moltiplicato con sfondo. Potresti mostrare la formula che stai utilizzando finora? – K3N
@ K3N, ho modificato e aggiunto del codice. Fammi sapere se questo aiuta. – Metal
Potresti fornire le 3 immagini distinte deformate, così come le coordinate sovrapposte? Ciò consentirà alle persone di verificare approcci diversi. – Miki