예제 #1
0
def deteccao_faixas_visao(img):

    # ------------- Variaveis que irao definir o status de deteccao das faixas -------------------
    status_visao_faixa_dir, status_visao_faixa_esq, status_faixa_contencao_visao = False, False, False

    # --------------------------------------------------------------------------------------------

    # --------------- Manipulacao da imagem original para deteccao das faixas --------------------
    img_perspectiva_pista = pista.perspectiva_pista(img)
    img_filtros = pista.filtros_faixas(img_perspectiva_pista)

    img_faixa_esq = img_filtros[var.y1_faixa_esq:var.y2_faixa_esq,
                                var.x1_faixa_esq:var.x2_faixa_esq]
    img_faixa_esq, cx_esq = pista.detecta_faixas(img_faixa_esq)

    img_faixa_dir = img_filtros[var.y1_faixa_dir:var.y2_faixa_dir,
                                var.x1_faixa_dir:var.x2_faixa_dir]
    img_faixa_dir, cx_dir = pista.detecta_faixas(img_faixa_dir)

    soma_matriz_img_esq = gerencia.analise_matriz_imagem(img_faixa_esq)
    soma_matriz_img_dir = gerencia.analise_matriz_imagem(img_faixa_dir)
    #print(soma_matriz_img_esq, soma_matriz_img_dir)
    # --------------------------------------------------------------------------------------------

    # --------------------------- Detecção das faixas com Visao ----------------------------------
    if cx_dir >= 60 and cx_esq <= 73:
        status_visao_faixa_dir = True

    if cx_dir >= 50 and cx_esq <= 55:
        status_visao_faixa_esq = True

    if ((cx_dir >= 80 and cx_esq <= 30)):
        status_contencao_visao = True
    # --------------------------------------------------------------------------------------------

    #print("Faixa Dir: {0}: \tFaixa Esq: {1} \tFaixa de Contenção: {2}".format(cx_dir, cx_esq, status_contencao_visao))
    #print("Faixa Esq: {0} {1} \tFaixa Dir: {2} {3}".format(status_visao_faixa_esq, cx_esq, status_visao_faixa_dir, cx_dir))

    retorno = [
        img_perspectiva_pista, img_faixa_esq, img_faixa_dir,
        status_visao_faixa_dir, status_visao_faixa_esq,
        status_faixa_contencao_visao
    ]

    return retorno