TypeError: ожидаемый целочисленный аргумент int получил float в круге opencv - PullRequest
0 голосов
/ 09 мая 2020

Я сделал контроллер мыши с жестами рукой, используя opencv, но когда я запускаю код Я получил эту ошибку на cv2.circle ...

Traceback (most recent call last):
File "C:/Users/Arne/PycharmProjects/JARVISv2/Virtual.py", line 65, in <module>
cv2.circle(img, (cx, cy), (w + h) / 4, (0, 0, 255), 2)
TypeError: integer argument expected, got float
[ WARN:0] global C:\projects\opencv-python\opencv\modules\videoio\src\cap_msmf.cpp (674) 
SourceReaderCB::~SourceReaderCB terminating async callback

Process finished with exit code 1

Пожалуйста, помогите мне, я немного ближе к завершению моего проекта
ЗАРАНЕЕ СПАСИБО Вот мой код -

    if (len(conts) == 2):
    if (pinchFlag == 1):
        pinchFlag = 0
        mouse.release(Button.left)
    x1, y1, w1, h1 = cv2.boundingRect(conts[0])
    x2, y2, w2, h2 = cv2.boundingRect(conts[1])
    cv2.rectangle(img, (x1, y1), (x1 + w1, y1 + h1), (255, 0, 0), 2)
    cv2.rectangle(img, (x2, y2), (x2 + w2, y2 + h2), (255, 0, 0), 2)
    cx1 = int(x1 + w1 // 2

) cy1 = int (y1 + h1 // 2) cx2 = int (x2 + w2 // 2) cy2 = int (y2 + h2 // 2) cx = (cx1 + cx2) / 2 cy = (cy1 + cy2) / 2 cv2.line (img, (cx1, cy1), (cx2, cy2), (255, 0, 0), 2) cv2.circle ( img, (cx, cy), 2, (0, 0, 255), 2) mouseLo c = (sx - (cx * sx / camx), cy * sy / camy) mouse.position = mouseLoc, пока мышь. позиция! = mouseLo c: пройти

1 Ответ

0 голосов
/ 09 мая 2020

Вам необходимо предоставить целочисленные координаты для cv2.line и cv2.circle (). Измените cx и cy на int (cx1) и int (cy1) или, возможно, просто int (cx1, cy1) и аналогично для cx2 и cy2. Или при делении на 2 используйте // вместо / для деления, чтобы получить целочисленные значения.

...