import numpy as np
import matplotlib.pyplot as plt
from scipy.signal import convolve2d
import cv2
-----------------------------------
1) Carregar imagem (exemplo)
-----------------------------------
img = cv2.imread('imagem_aviao.jpg')
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
-----------------------------------
2) Definir região (pessoa)
boundaries = [y1, y2, x1, x2]
-----------------------------------
boundaries = [180, 230, 195, 215]
y1, y2, x1, x2 = boundaries
-----------------------------------
3) Extrair kernel da própria imagem
-----------------------------------
kernel = img[y1:y2, x1:x2]
Normalizar kernel (opcional)
kernel = kernel - np.mean(kernel)
-----------------------------------
4) Aplicar convolução
-----------------------------------
output = convolve2d(img, kernel, mode='same')
-----------------------------------
5) Plot
-----------------------------------
plt.figure(figsize=(12,4))
plt.subplot(1,3,1)
plt.title("Imagem original")
plt.imshow(img, cmap='gray')
plt.subplot(1,3,2)
plt.title("Kernel (região)")
plt.imshow(kernel, cmap='gray')
plt.subplot(1,3,3)
plt.title("Mapa de ativação")
plt.imshow(output, cmap='hot')
plt.show()