2017-10-05 4 views
1

J'ai un code simple pour essayer la fusion d'images opencv avec la fonction addWeighted() . Il me montre l'erreur quiopencv-python erreur addWeighted() - Les tailles des arguments d'entrée ne correspondent pas

Tailles des arguments d'entrée ne correspondent pas

Voici mon code

import cv2 
import numpy as np 

img1 = cv2.imread('/home/jianyepa/Downloads/gtr1.jpg') 
img2 = cv2.imread('/home/jianyepa/Downloads/r1.png') 

dst = cv2.addWeighted(img1,0.7,img2,0.3,0) 

cv2.imshow('dst', dst) 
cv2.waitkey(0) 
cv2.destroyAllWindows 

je vérifier la taille et les canaux à la fois l'image avec img.shape, les deux images montrant (720, 1280, 3). Je ne sais pas pourquoi cette erreur arrive.

Veuillez nous aider. Je vous remercie.

+1

essayez de convertir le fichier .png en fichier .jpg, puis effectuez la même chose. –

+0

@JeruLuke Oui, vous avez résolu ma question. S'il vous plaît ajouter comme réponse. Merci. –

Répondre

0

Liste des problèmes possibles:

  1. Soit la taille et le nombre de canaux des images ne correspondent pas
  2. ou les deux images peut être de différents types de fichiers.

Dans votre cas, ce n'est pas le premier. Les deux images ont la même taille et le même nombre de canaux.

Mais le problème réside dans les différents types de fichiers d'images. .png fichiers ont un autre canal appelé le canal alpha qui n'est pas présent dans .jpg fichiers. Cela aurait causé votre problème.

+0

Cause principale: type de fichier différent. –