Ошибка сегментации во время выполнения в python opencv - PullRequest
0 голосов
/ 10 октября 2019

Я разрабатываю решение для отслеживания объектов на Python с OpenCV (алгоритмы обнаружения и сопоставления функций).

Отслеживание работает нормально, нуждается в некоторых корректировках для повышения производительности и точности, но я получаю ошибку. Ошибка - просто пустое сообщение Segmentation fault, за которым следует сбой.

Это разочаровывает, потому что оно имеет буквально 0 описаний, и даже не отображает последний обратный вызов, поэтому я не могу точно определить источник этой ошибки.

Я могу только предположить, что ошибка происходит где-то внутри следующего кода:

while cap.isOpened():
    _, scene = cap.read()
    scene = cv2.cvtColor(scene, cv2.COLOR_BGR2GRAY)
    # Detecting and computing kps2 and des2

    matches = []
    # Filling up the matches array

    good = []
    # Filling up the good array with good matches

    if len(good) > MIN_MATCH_COUNT:
        # Declaring matchesMask
    else:
        matchesMask = None

    draw_params = dict(matchColor = (0,0,255), singlePointColor = None, matchesMask = matchesMask, flags = 2)

    img3 = cv2.drawMatches(sample,kps1,scene,kps2,good,None,**draw_params)
    img3 = cv2.resize(img3, (1700, 1000), interpolation=cv2.INTER_AREA)
    cv2.imshow("img3", img3)

    k = cv2.waitKey(30) & 0xff
    if k == ord('q'):
        break

К сожалению, я не могу поделиться некоторыми кодами, поэтому я добавил комментарии, описывающие то, что делает код.

Я также должен указать, что сбои происходят случайным образом. Обычно он работает за 20 секунд до сбоя, но может произойти сбой в первые 5 секунд или через минуту.

...