QRDet
QRDet is a robust QR Detector based on YOLOv7.
QRDet will detect QR codes even in difficult positions or tricky images. If you are looking for a complete QR Detection + Decoding pipeline, take a look at QReader.
Installation
To install QRDet, simply run:
pip install qrdet
Usage
There is only one function you'll need to call to use QRDet, detect:
from qrdet import QRDetector
import cv2
detector = QRDetector()
image = cv2.imread(filename='resources/qreader_test_image.jpeg')
detections = detector.detect(image=image, is_bgr=True)
# Draw the detections
for (x1, y1, x2, y2), confidence in detections:
cv2.rectangle(image, (x1, y1), (x2, y2), color=(0, 255, 0), thickness=2)
cv2.putText(image, f'{confidence:.2f}', (x1, y1 - 10), fontFace=cv2.FONT_HERSHEY_SIMPLEX, fontScale=1,
color=(0, 255, 0), thickness=2)
# Save the results
cv2.imwrite(filename='resources/qreader_test_image_detections.jpeg', img=image)
API Reference
QReader.detect(image, return_confidences = True, as_float = False, is_bgr = False)
-
image: np.ndarray. NumPy Array containing theimageto decode. The image is expected to be inuint8format [HxWxC], RGB or BGR depending on theis_bgrparameter. -
return_confidences: bool. IfTrue, the output will be in the format(((x1, y1, x2, y2), confidence), ...). Otherwise, it will be in the format((x1, y1, x2, y2), ...). Default:True. -
return_confidences: bool. IfTrue, the returned coordinates will be returned asfloat, with the complete precision outputted from the detection model. Otherwise, they will be rounded to the closest integer. Default:False. -
is_bgr: bool. IfTruethe image is expected to be inBGR. Otherwise, it will be expected to beRGB. Default:False -
Returns: tuple[tuple[tuple[int, int, int, int], float], ...] | tuple[tuple[int, int, int, int]]: A tuple with the coordinates of all detected QR codes. If
return_confidencesisTrue, the output will look like:(((x1, y1, x2, y2), confidence), ...). Ifreturn_confidencesisFalseit will look like:((x1, y1, x2, y2), ...).
Acknowledgements
This library is based on the following projects:
- YoloV7 model for Object Detection.
Metadata
Release files for qrdet 1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| qrdet-1.7.tar.gz | 5.5 kB | Details |
Release files / qrdet-1.7.tar.gz
| Download URL | qrdet-1.7.tar.gz |
|---|---|
| Size | 5.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
12c60c127b3c850476ccafa4a567c1546c7f923e1e91b06dd99dd8c919100db5
|
|
BLAKE2b-256 checksum How to use checksums |
4a3b691cebaca37ef46cdf437e5178644cfc18309e756e3a02f96e986d83844c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.10.2
|