Я разрабатываю решение для отслеживания объектов на 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 секунд или через минуту.