Моя цель - найти цвет на моем экране, а затем после того, как он распознает цвет, он должен нарисовать на нем линию. Но я всегда получаю эту ошибку:
Traceback (most recent call last):
File "C:/Users/Admin/PycharmProjects/test/test.py", line 34, in <module>
cv2.line(screen, (mask[0], mask[1]), (mask[3], mask[4]), [0, 0, 255], 23)
TypeError: only integer scalar arrays can be converted to a scalar index
Примечание: - Я уже искал ошибку, и другие люди сказали, что мне нужно сохранить маску в [] . Я пробовал это, но он сказал: «ТипError: нужен тип int, есть список типов». Это код:
while True:
screen = np.array(ImageGrab.grab(bbox=(132, 120, 638, 510)))
mask = cv2.inRange(screen, np.array([128, 0, 0]), np.array([255, 0, 0]))
new_screen = process_img(screen)
cv2.imshow('window', new_screen)
cv2.imshow('window2', cv2.cvtColor(screen, cv2.COLOR_BGR2RGB))
cv2.line(screen, (mask[0], mask[1]), (mask[3], mask[4]), [0, 0, 255], 23)
cv2.imshow('bla', mask)
if cv2.waitKey(25) & 0xFF == ord('q'):
cv2.destroyAllWindows()
break
Edit: - Вам может быть интересно, что такое process_img и что он может создавать проблемы, это функция, которую я написал до этого кода. Я подумал, что это будет пустой тратой времени для всех вас, помощников, которые прочитают это, поэтому я не включил эту часть кода. Я уверен, что именно здесь и возникла ошибка.