You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
if imagem_original is None:
print(f"Erro: Não foi possível encontrar a imagem no caminho '{caminho_imagem}'. Verifique o nome do arquivo.")
else:
# Criar uma cópia para aplicar a sobreposição transparente
imagem_mapa = imagem_original.copy()
camada_circulos = np.zeros_like(imagem_original)
# Definição de Cores no formato BGR (OpenCV)
VERDE = (34, 139, 34) # Ergonômico e Físico
MARROM = (19, 69, 139) # Biológico
AZUL = (255, 0, 0) # Acidentes
# ==========================================
# MAPEAMENTO DOS CÍRCULOS (Ajustado à Planta)
# ==========================================
# 1. Porta de Entrada do CIEVS (Degrau / Rota de Fuga)
# Risco de Acidente - Alto (Círculo Grande Azul)
cv2.circle(camada_circulos, (260, 310), 30, AZUL, -1)
# 2. Corredor Estreito (Geladeira de Material Biológico + Descarpack)
# Risco Biológico - Médio (Círculo Médio Marrom)
cv2.circle(camada_circulos, (480, 310), 20, MARROM, -1)
# 3. Sala Principal do CIEVS (Área das Mesas e Computadores)
# Risco Ergonômico - Alto (Círculo Grande Verde)
cv2.circle(camada_circulos, (600, 200), 30, VERDE, -1)
# Risco Biológico - Médio (Círculo Médio Marrom - Falta de pias)
cv2.circle(camada_circulos, (600, 250), 20, MARROM, -1)
# Risco Físico - Pequeno (Círculo Pequeno Verde - Ruído/Ar-condicionado)
cv2.circle(camada_circulos, (650, 200), 10, VERDE, -1)
# 4. Sala da Coordenadora
# Risco Ergonômico - Médio (Círculo Médio Verde - Espaço restrito/confinamento)
cv2.circle(camada_circulos, (390, 240), 20, VERDE, -1)
# 5. Sala de Situação do CIEVS (Dentro da Vigilância Epidemiológica)
# Risco Ergonômico - Pequeno (Círculo Pequeno Verde - Trabalho sentado)
cv2.circle(camada_circulos, (800, 120), 10, VERDE, -1)
# Risco Físico - Pequeno (Círculo Pequeno Verde - Ar-condicionado)
cv2.circle(camada_circulos, (830, 120), 10, VERDE, -1)
# 6. Cozinha / Copa (Lado Esquerdo Superior)
# Risco Físico - Pequeno (Círculo Pequeno Verde - Calor do micro-ondas)
cv2.circle(camada_circulos, (150, 360), 10, VERDE, -1)
# Risco de Acidente - Pequeno (Círculo Pequeno Azul - Piso molhado/Tomadas)
cv2.circle(camada_circulos, (180, 360), 10, AZUL, -1)
# 7. Banheiros Coletivos (Lado Direito Superior)
# Risco Biológico - Médio (Círculo Médio Marrom - Sanitários)
cv2.circle(camada_circulos, (180, 200), 20, MARROM, -1)
# Risco de Acidente - Pequeno (Círculo Pequeno Azul - Queda em piso úmido)
cv2.circle(camada_circulos, (220, 200), 10, AZUL, -1)
# ==========================================
# APLICAR TRANSPARÊNCIA (Blend)
# ==========================================
# alfa determina a opacidade dos círculos (0.4 = 40% opaco, permitindo ver o fundo)
alfa = 0.4
cv2.addWeighted(camada_circulos, alfa, imagem_mapa, 1 - alfa, 0, imagem_mapa)
# Salvar o resultado final como uma nova imagem
cv2.imwrite('mapa_de_risco_final.png', imagem_mapa)
print("Sucesso! O arquivo 'mapa_de_risco_final.png' foi gerado com os círculos aplicados.")
Activity
nubiachaparro7025-blip commentedon Oct 13, 2026
Definição de Cores no formato BGR (OpenCV)
VERDE = (34, 139, 34) # Ergonômico e Físico
MARROM = (19, 69, 139) # Biológico
AZUL = (255, 0, 0) # Acidentes
==========================================
MAPEAMENTO DOS CÍRCULOS (Ajustado à Planta)
==========================================
1. Porta de Entrada do CIEVS (Degrau / Rota de Fuga)
Risco de Acidente - Alto (Círculo Grande Azul)
cv2.circle(camada_circulos, (260, 310), 30, AZUL, -1)
2. Corredor Estreito (Geladeira de Material Biológico + Descarpack)
Risco Biológico - Médio (Círculo Médio Marrom)
cv2.circle(camada_circulos, (480, 310), 20, MARROM, -1)
3. Sala Principal do CIEVS (Área das Mesas e Computadores)
Risco Ergonômico - Alto (Círculo Grande Verde)
cv2.circle(camada_circulos, (600, 200), 30, VERDE, -1)
Risco Biológico - Médio (Círculo Médio Marrom - Falta de pias)
cv2.circle(camada_circulos, (600, 250), 20, MARROM, -1)
Risco Físico - Pequeno (Círculo Pequeno Verde - Ruído/Ar-condicionado)
cv2.circle(camada_circulos, (650, 200), 10, VERDE, -1)
4. Sala da Coordenadora
Risco Ergonômico - Médio (Círculo Médio Verde - Espaço restrito/confinamento)
cv2.circle(camada_circulos, (390, 240), 20, VERDE, -1)
5. Sala de Situação do CIEVS (Dentro da Vigilância Epidemiológica)
Risco Ergonômico - Pequeno (Círculo Pequeno Verde - Trabalho sentado)
cv2.circle(camada_circulos, (800, 120), 10, VERDE, -1)
Risco Físico - Pequeno (Círculo Pequeno Verde - Ar-condicionado)
cv2.circle(camada_circulos, (830, 120), 10, VERDE, -1)
6. Cozinha / Copa (Lado Esquerdo Superior)
Risco Físico - Pequeno (Círculo Pequeno Verde - Calor do micro-ondas)
cv2.circle(camada_circulos, (150, 360), 10, VERDE, -1)
Risco de Acidente - Pequeno (Círculo Pequeno Azul - Piso molhado/Tomadas)
cv2.circle(camada_circulos, (180, 360), 10, AZUL, -1)
7. Banheiros Coletivos (Lado Direito Superior)
Risco Biológico - Médio (Círculo Médio Marrom - Sanitários)
cv2.circle(camada_circulos, (180, 200), 20, MARROM, -1)
Risco de Acidente - Pequeno (Círculo Pequeno Azul - Queda em piso úmido)
cv2.circle(camada_circulos, (220, 200), 10, AZUL, -1)
==========================================
APLICAR TRANSPARÊNCIA (Blend)
==========================================
alfa determina a opacidade dos círculos (0.4 = 40% opaco, permitindo ver o fundo)
alfa = 0.4
cv2.addWeighted(camada_circulos, alfa, imagem_mapa, 1 - alfa, 0, imagem_mapa)
Salvar o resultado final como uma nova imagem
cv2.imwrite('mapa_de_risco_final.png', imagem_mapa)
print("Sucesso! O arquivo 'mapa_de_risco_final.png' foi gerado com os círculos aplicados.")