Merge pull request #23790 from asmorkalov:as/qrcode_aruco_js

JS bindings for Aruco-based QR code detector
pull/23800/head
Alexander Smorkalov 2 years ago committed by GitHub
commit 52f46589a0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      modules/js/src/core_bindings.cpp
  2. 21
      modules/js/test/test_objdetect.js
  3. 4
      platforms/js/opencv_js.config.py

@ -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;

@ -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);

@ -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 = {

Loading…
Cancel
Save