Я следую учебнику, чтобы заставить qr-считыватель работать на python, но при его запуске я сталкиваюсь со следующей ошибкой:
Произошло исключение: ошибка OpenCV(4.5.4) :-1: ошибка: (-5:Неверный аргумент) в функции "строка" Не удалось разрешить перегрузку:
- Не удается разобрать "pt1". Элемент последовательности с индексом 0 имеет неправильный тип
- Не удается разобрать "pt1". Элемент последовательности с индексом 0 имеет неправильный тип Файл "C:\Users\me\project\qrreader.py", строка 18, в cv2.строка(img, кортеж(bbox[i][0]), кортеж(bbox[(i+1) % len(bbox)][0]), цвет=(255,
Сценарий выглядит следующим образом
import cv2
# set up camera object
cap = cv2.VideoCapture(0)
# QR code detection object
detector = cv2.QRCodeDetector()
while True:
# get the image
_, img = cap.read()
# get bounding box coords and data
data, bbox, _ = detector.detectAndDecode(img)
# if there is a bounding box, draw one, along with the data
if(bbox is not None):
for i in range(len(bbox)):
cv2.line(img, tuple(bbox[i][0]), tuple(bbox[(i+1) % len(bbox)][0]), color=(255,
0, 255), thickness=2)
cv2.putText(img, data, (int(bbox[0][0][0]), int(bbox[0][0][1]) - 10), cv2.FONT_HERSHEY_SIMPLEX,
0.5, (0, 255, 0), 2)
if data:
print("data found: ", data)
# display the image preview
cv2.imshow("code detector", img)
if(cv2.waitKey(1) == ord("q")):
break
# free camera object and exit
Этот сценарий, по-видимому, есть во всех учебниках, но, насколько я могу судить, он нарушил изменения в opencv 4.5.2, но, похоже, я не могу его исправить.
Если не кортеж, то что требуется для функции строки?