Окно дисплея не появляется, потому что что-то не так с отладочным кодом - PullRequest
0 голосов
/ 30 апреля 2019

когда я запускаю этот код в MVS 2017 или в лаборатории / ноутбуке Jupyter, он не отлаживается.import cv2 import numpy as np import matplotlib.pyplot как plt

rd = cv2.imread('images/road.png')              
rd_copy = np.copy(rd)                           




def canny(image):

    gray_rd = cv2.cvtColor(image,cv2.COLOR_RGB2GRAY)
    blur_rd = cv2.GaussianBlur(gray_rd, (5,5),0)   
    canny_rd = cv2.Canny(blur_rd,50,150)

    return canny_rd


def region_of_interest(image):

    #height = image.shape[0]
    triangle = np.array([(405,1070),(1475,1070),(808,420)])
    mask = np.zeros_like(image)
    cv2.fillPoly(mask, triangle,255)

    return mask

canny_rd = canny(rd_copy)

#plt.imshow(canny_rd)
#plt.show()

cv2.namedWindow('ROAD PIC', cv2.WINDOW_NORMAL)
cv2.imshow('ROAD PIC', region_of_interest(canny_rd))
#cv2.imshow('ROAD PIC', canny_rd)
cv2.waitKey()
cv2.destroyAllWindows()

, но когда я запускаю тот же код без вызова функции region_of_interest, его отладка происходит правильно.Что-то не так с тем, как я звоню или как я определил функцию region_of_interest?

1 Ответ

0 голосов
/ 30 апреля 2019

fillPoly ожидает массив полигонов в качестве входных данных, где полигон - это массив точек. В настоящее время вы вводите 1 полигон как массив точек. Чтобы поместить треугольник в массив, вы можете поместить его в квадратные скобки:
cv2.fillPoly(mask, [triangle],255)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...