Mapa de risco CIEVS · Issue #801 · psincraian/pepy · GitHub
Skip to content

Mapa de risco CIEVS #801

Open
Open

Description

@nubiachaparro7025-blip
Image

import cv2
import numpy as np

1. Carregar a imagem da sua planta baixa

Substitua 'planta_cievs.png' pelo nome exato do arquivo salvo no seu computador

caminho_imagem = 'planta_cievs.png'
imagem_original = cv2.imread(caminho_imagem)

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

  1. nubiachaparro7025-blip commented on Oct 13, 2026

    @nubiachaparro7025-blip
    Author

    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.")

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions