Merge pull request #23790 from asmorkalov:as/qrcode_aruco_js

JS bindings for Aruco-based QR code detector
This commit is contained in:
Alexander Smorkalov 2023-06-14 17:05:09 +03:00 committed by GitHub
commit 52f46589a0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 26 additions and 1 deletions

View File

@ -90,6 +90,8 @@ using namespace cv;
using namespace cv::segmentation; // FIXIT
using namespace cv::aruco;
typedef aruco::DetectorParameters aruco_DetectorParameters;
typedef QRCodeDetectorAruco::Params QRCodeDetectorAruco_Params;
#ifdef HAVE_OPENCV_DNN
using namespace cv::dnn;

View File

@ -200,6 +200,27 @@ QUnit.test('QR code detect and decode', function (assert) {
}
});
QUnit.test('Aruco-based QR code detect', function (assert) {
{
let qrcode_params = new cv.QRCodeDetectorAruco_Params();
let detector = new cv.QRCodeDetectorAruco();
let mat = cv.Mat.ones(800, 600, cv.CV_8U);
assert.ok(mat);
detector.setDetectorParameters(qrcode_params);
let points = new cv.Mat();
let qrCodeFound = detector.detect(mat, points);
assert.equal(points.rows, 0)
assert.equal(points.cols, 0)
assert.equal(qrCodeFound, false);
qrcode_params.delete();
detector.delete();
points.delete();
mat.delete();
}
});
QUnit.test('Aruco detector', function (assert) {
{
let dictionary = cv.getPredefinedDictionary(cv.DICT_4X4_50);

View File

@ -124,7 +124,9 @@ objdetect = {'': ['groupRectangles', 'getPredefinedDictionary', 'extendDictionar
'aruco_DetectorParameters': ['DetectorParameters'],
'aruco_RefineParameters': ['RefineParameters'],
'aruco_ArucoDetector': ['ArucoDetector', 'detectMarkers', 'refineDetectedMarkers', 'setDictionary', 'setDetectorParameters', 'setRefineParameters'],
'aruco_CharucoDetector': ['CharucoDetector', 'setBoard', 'setCharucoParameters', 'setDetectorParameters', 'setRefineParameters', 'detectBoard', 'detectDiamonds']
'aruco_CharucoDetector': ['CharucoDetector', 'setBoard', 'setCharucoParameters', 'setDetectorParameters', 'setRefineParameters', 'detectBoard', 'detectDiamonds'],
'QRCodeDetectorAruco_Params': ['Params'],
'QRCodeDetectorAruco': ['QRCodeDetectorAruco', 'decode', 'detect', 'detectAndDecode', 'detectMulti', 'decodeMulti', 'detectAndDecodeMulti', 'setDetectorParameters', 'setArucoParameters']
}
video = {