Ask Your Question

Revision history [back]

Olá, seu problema, provavelmente, ocorre devido suas imagens serem de tamanhos diferentes. O cv2 disponibiliza de um método que pode lhe ajudar à ajustar automaticamente uma imagem usando a outra como referência, o método é resize(). Então você deveria fazer assim, escolher uma imagem que será alterada, escolha a img2, e em seguida usar a img1 como parâmetro para img2 ficar com o mesmo tamanho.

Resposta: img2_resized = cv2.resize(img2, (img1.shape[1], img1.shape[0]))

e seu código ficaria assim:

import numpy as np import cv2

img1 = cv2.imread('ml.png') img2 = cv2.imread('opencv.png')

img2_resized = cv2.resize(img2, (img1.shape[1], img1.shape[0]))

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

cv2.imshow('dst', dst)

cv2.waitKey(0) cv2.destroyAllWindows()

É claro que existem outras possibilidades, como utilizar um outro software para fazer o redimensionamento ou usar, realmente, duas imagens iguais...

in your google translator (português of Brazi or PT)