diff --git a/modules/objdetect/misc/java/test/QRCodeDetectorTest.java b/modules/objdetect/misc/java/test/QRCodeDetectorTest.java new file mode 100644 index 0000000000000000000000000000000000000000..9879772e428879d4be319a21d1b4c8bcdc707a86 --- /dev/null +++ b/modules/objdetect/misc/java/test/QRCodeDetectorTest.java @@ -0,0 +1,29 @@ +package org.opencv.test.objdetect; + +import org.opencv.core.Mat; +import org.opencv.objdetect.QRCodeDetector; +import org.opencv.imgcodecs.Imgcodecs; +import org.opencv.test.OpenCVTestCase; + +public class QRCodeDetectorTest extends OpenCVTestCase { + + private final static String ENV_OPENCV_TEST_DATA_PATH = "OPENCV_TEST_DATA_PATH"; + private String testDataPath; + + @Override + protected void setUp() throws Exception { + super.setUp(); + + testDataPath = System.getenv(ENV_OPENCV_TEST_DATA_PATH); + if (testDataPath == null) + throw new Exception(ENV_OPENCV_TEST_DATA_PATH + " has to be defined!"); + } + + public void testDetectAndDecode() { + Mat img = Imgcodecs.imread(testDataPath + "/cv/qrcode/link_ocv.jpg"); + QRCodeDetector detector = new QRCodeDetector(); + String output = detector.detectAndDecode(img); + assertEquals(output, "https://opencv.org/"); + } + +} diff --git a/modules/objdetect/misc/python/test/test_qrcode_detect.py b/modules/objdetect/misc/python/test/test_qrcode_detect.py new file mode 100644 index 0000000000000000000000000000000000000000..4ffd60ec8faca15adf4725fd3a1f61e6b8f474c0 --- /dev/null +++ b/modules/objdetect/misc/python/test/test_qrcode_detect.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python +''' +=============================================================================== +QR code detect and decode pipeline. +=============================================================================== +''' + +import numpy as np +import cv2 as cv + +from tests_common import NewOpenCVTests + +class qrcode_detector_test(NewOpenCVTests): + def test_detect_and_decode(self): + img = cv.imread(self.extraTestDataPath + '/cv/qrcode/link_ocv.jpg') + detector = cv.QRCodeDetector() + retval, points, straight_qrcode = detector.detectAndDecode(img) + self.assertEqual(retval, "https://opencv.org/"); diff --git a/modules/objdetect/src/qrcode.cpp b/modules/objdetect/src/qrcode.cpp index 9884bcc0f172f84012197654630496965f149e15..3953b88718d8a145ab62fae2ccabfef36a8aa764 100644 --- a/modules/objdetect/src/qrcode.cpp +++ b/modules/objdetect/src/qrcode.cpp @@ -1084,7 +1084,6 @@ cv::String QRCodeDetector::decode(InputArray in, InputArray points, inarr = gray; } - CV_Assert(points.isVector()); vector src_points; points.copyTo(src_points); CV_Assert(src_points.size() == 4);