मैं कैसे कर सकते हैं qr कोड को पढ़ने का उपयोग कर CV2 दिए गए उनके CV2 तोड़ने की tuples?

0

सवाल

मैं पीछा कर रहा हूँ एक ट्यूटोरियल पाने के लिए एक qr रीडर के साथ काम करने में अजगर है, लेकिन मैं चल रहा हूँ में निम्न त्रुटि जबकि यह चल रहा है:

अपवाद उत्पन्न हुई: त्रुटि OpenCV(4.5.4) :-1: त्रुटि: (-5:बुरा तर्क) समारोह में 'रेखा' अधिभार संकल्प में विफल:

  • नहीं कर सकते हैं पार्स 'pt1'. अनुक्रम के साथ आइटम सूचकांक 0 एक गलत प्रकार
  • नहीं कर सकते हैं पार्स 'pt1'. अनुक्रम के साथ आइटम सूचकांक 0 एक गलत प्रकार फ़ाइल "C:\Users\me\project\qrreader.py", लाइन 18, में cv2.लाइन(आइएमजी, टपल(bbox[मैं][0]), टपल(bbox[(मैं+1) % लेन(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 परिवर्तन के रूप में दूर के रूप में मैं बता सकता हूँ, लेकिन मैं प्रतीत नहीं कर सकते इसे ठीक करने के लिए.

यदि नहीं, तो एक टपल, क्या करता है लाइन समारोह की आवश्यकता होती है?

computer-vision cv2 opencv python
2021-11-22 20:07:52
1

सबसे अच्छा जवाब

1

अपने bbox एक 3-आयामी सरणी के साथ आकार (1,4,2). मैं सुझाव है कि आप इसे सरल बनाने के द्वारा देगी यह करने के लिए एक 2 डी सरणी. कास्ट करने के लिए यह करने के लिए int, numpy सरणियों है astype विधि । अंत में, एक tuple अभी भी आवश्यक है द्वारा cv2.lineहै , इसलिए है कि रखने के रूप में है.

यहाँ है एक संभव समाधान का हिस्सा:

    # if there is a bounding box, draw one, along with the data
    if bbox is not None:
        bb_pts = bbox.astype(int).reshape(-1, 2)
        num_bb_pts = len(bb_pts)
        for i in range(num_bb_pts):
            cv2.line(img,
                     tuple(bb_pts[i]),
                     tuple(bb_pts[(i+1) % num_bb_pts]),
                     color=(255, 0, 255), thickness=2)
        cv2.putText(img, data,
                    (bb_pts[0][0], bb_pts[0][1] - 10),
                    cv2.FONT_HERSHEY_SIMPLEX,
                    0.5, (0, 255, 0), 2)

Numpy प्रलेखन: नयी आकृति प्रदान करना, astype.

2021-11-23 13:25:33

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में