Ошибка типа: Только целочисленные скалярные массивы могут быть преобразованы в индекс масштабирования

#python #augmented-reality #detection #opencv-python

Вопрос:

Ошибка произошла, когда я обновил OpenCV с 1.4.1 до 1.5.2. Описание: Я пытаюсь создать мышь AR(камера обнаружит ваш палец, который затем будет действовать как мышь). Чтобы щелкнуть правой кнопкой мыши, вам нужно соединить средний и указательный пальцы вместе. Но при этом я получаю ошибку:

 cv2.circle(img, (lineInfo[4], lineInfo[5]), TypeErro: only integer scaler arrays can be converted to a scaler index   

В этой части возникает ошибка:

 if fingers[1] == 1 and fingers[2] == 1:   # 9. Find distance between fingers  length, img, lineInfo = detector.findDistance(lmList[8], lmList[12], img)   # 10. Click mouse if distance short  if length lt; 40:  cv2.circle(img, (lineInfo[4], lineInfo[5]), 15, (0, 255, 0), cv2.FILLED)  autopy.mouse.click()  

Комментарии:

1. сначала используйте print() , чтобы увидеть, что у вас есть в переменных в строке, что создает проблему.

Ответ №1:

Если вы удалите

 cv2.circle(img, (lineInfo[4], lineInfo[5]), 15, (0, 255, 0), cv2.FILLED)  

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