Sleduji tutorial, jak získat qr reader pracuje v pythonu, ale já jsem běží do následující chybová zpráva při spuštění:
Výjimkou došlo: chyba OpenCV(4.5.4) :-1: chyba: (-5:Špatný argument) ve funkci 'line' Přetížení rozlišení se nezdařilo:
- Nemůžu parse 'pt1'. Sekvence položka s indexem 0 má špatný typ
- Nemůžu parse 'pt1'. Sekvence položka s indexem 0 má špatný typ Soubor "C:\Users\me\project\qrreader.py", linka 18, v cv2.line(img, n-tice(bbox[i][0]), n-tice(bbox[(i+1) % len(bbox)][0]), barva=(255,
Skript je následující
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
Tento skript je ve všech výukových programů tam, zdánlivě, ale zdá se, že se rozešel s opencv 4.5.2 změny, pokud můžu říct, ale nemůžu to opravit.
Pokud ne, n-tice, co dělá line funkce vyžadují?