import cv2 import numpy as np # Carrega a imagem de fundo background = cv2.imread('background.jpg') # Carrega a imagem do objeto a ser sobreposto # Usar -1 para carregar a imagem com canal de transparência (RGBA) overlay = cv2.imread('overlay.png', -1) # Define a posição onde o objeto será colocado x_offset = 50 y_offset = 50 # Verifica se a imagem foi carregada corretamente if background is None or overlay is None: print("Erro: Não foi possível carregar as imagens.") else: # Verifica se a imagem overlay possui canal alpha (transparência) if overlay.shape[2] == 4: # Verifica se possui 4 canais (RGBA) # Separa o canal alfa alpha_overlay = overlay[:, :, 3] / 255.0 alpha_background = 1.0 - alpha_overlay # Sobrepõe a imagem do objeto no fundo for c in range(0, 3): # Para cada canal de cor (BGR) background[y_offset:y_offset+overlay.shape[0], x_offset:x_offset+overlay.shape[1], c] = \ (alpha_overlay * overlay[:, :, c] + alpha_background * background[y_offset:y_offset+overlay.shape[0], x_offset:x_offset+overlay.shape[1], c]) # Exibe a imagem resultante cv2.imshow('Realidade Aumentada', background) cv2.waitKey(0) cv2.destroyAllWindows() else: print("Erro: A imagem overlay não possui canal alfa (transparência).")