Ich habe versucht, zwei Bilder zu mischen. Der aktuelle Ansatz ist, ich erhalte die Koordinaten des Überlappungsbereichs der beiden Bilder, und nur für die überlappenden Bereiche mische ich mit einem fest codierten Alpha von 0,5, bevor ich ihn addiere. SO nehme ich im Grunde genommen nur den halben Wert jedes Pixels aus überlappenden Bereichen beider Bilder und füge sie hinzu. Das gibt mir keine perfekte Mischung, weil der Alpha-Wert auf 0.5 fest codiert ist. Hier ist das Ergebnis der Mischung von 3 Bildern:Wie erhält man den richtigen Alpha-Wert, um zwei Bilder perfekt zu mischen?
Wie Sie sehen können, ist der Übergang von einem Bild zum anderen noch sichtbar. Wie erhalte ich den perfekten Alpha-Wert, der diesen sichtbaren Übergang eliminieren würde? Oder gibt es so etwas nicht, und ich gehe einen falschen Weg?
Hier ist, wie ich zur Zeit das Mischungs tun:
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)
Wenn jemand möchte, dass ihm eine Chance geben, hier sind zwei verzerrte Bilder, und die Maske von ihrem Überlappungsbereich: http://imgur.com/a/9pOsQ
Die Quelle Bilder scheinen mit Hintergrund Pre-multipliziert zu werden. Kannst du die Formel zeigen, die du bis jetzt benutzt hast? – K3N
@ K3N, ich habe einen Code bearbeitet und hinzugefügt. Lass es mich wissen, wenn das hilft. – Metal
Könnten Sie die 3 separaten verzerrten Bilder sowie die überlappenden Koordinaten bereitstellen? Dies ermöglicht es den Menschen, verschiedene Ansätze zu überprüfen. – Miki