Я пытаюсь получить и нарисовать угловые точки изображения. Теперь у меня есть список кортежей в следующем формате: (строка, столбец, масштаб) (масштаб указан потому, что я использую пирамиду Гаусса), полученный вручную из harrisCornerDetector и процесса nonMaximumSupression. Этот список является функциональным1.
Мой код следующий:
Код: Выделить всё
r,g,b=cv2.split(image)
criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 30, 0.001)
cv2.cornerSubPix( r, featuresy1, (5,5), (-1,1), criteria )
Где image — это изображение в оттенках серого с тремя одинаковыми фигурами. Как видите, я передаю angularSubPix в качестве второго параметра такую структуру: [(x1,y1,scale1),(x2,y2,scale2),...,(xn,yn,scalen )].
Выдает следующую ошибку:
Код: Выделить всё
cv2.cornerSubPix( r, featuresy1, (5,5), (-1,1), criteria )
TypeError: corners is not a numpy array, neither a scalar
По этой причине мне интересно, какой тип, формат или структура должны иметь функции y1, чтобы функция angularSubPix() работала. Это единственное, что я делаю неправильно? Об этом не так уж много документации.
Спасибо!
Подробнее здесь:
https://stackoverflow.com/questions/404 ... -in-python