mirror of
https://github.com/opencv/opencv.git
synced 2026-07-29 23:33:05 +04:00
Merge pull request #23725 from asmorkalov:as/aruco_js_refresh
Refreshed JavaScript bindings for Aruco related algorithms
This commit is contained in:
@@ -812,6 +812,7 @@ class JSWrapperGenerator(object):
|
||||
for name, class_info in sorted(self.classes.items()):
|
||||
class_bindings = []
|
||||
if not name in white_list:
|
||||
#print('Not in whitelist: "{}" from ns={}'.format(name, ns_name))
|
||||
continue
|
||||
|
||||
# Generate bindings for methods
|
||||
|
||||
@@ -89,14 +89,12 @@ using namespace cv;
|
||||
|
||||
using namespace cv::segmentation; // FIXIT
|
||||
|
||||
using namespace cv::aruco;
|
||||
|
||||
#ifdef HAVE_OPENCV_DNN
|
||||
using namespace cv::dnn;
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_OPENCV_ARUCO
|
||||
using namespace aruco;
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_OPENCV_VIDEO
|
||||
typedef TrackerMIL::Params TrackerMIL_Params;
|
||||
#endif
|
||||
|
||||
@@ -199,4 +199,60 @@ QUnit.test('QR code detect and decode', function (assert) {
|
||||
mat.delete();
|
||||
|
||||
}
|
||||
});
|
||||
});
|
||||
QUnit.test('Aruco detector', function (assert) {
|
||||
{
|
||||
let dictionary = cv.getPredefinedDictionary(cv.DICT_4X4_50);
|
||||
let aruco_image = new cv.Mat();
|
||||
let detectorParameters = new cv.aruco_DetectorParameters();
|
||||
let refineParameters = new cv.aruco_RefineParameters(10, 3, true);
|
||||
let detector = new cv.aruco_ArucoDetector(dictionary, detectorParameters,refineParameters);
|
||||
let corners = new cv.MatVector();
|
||||
let ids = new cv.Mat();
|
||||
|
||||
dictionary.generateImageMarker(10, 128, aruco_image);
|
||||
assert.ok(!aruco_image.empty());
|
||||
|
||||
detector.detectMarkers(aruco_image, corners, ids);
|
||||
|
||||
dictionary.delete();
|
||||
aruco_image.delete();
|
||||
detectorParameters.delete();
|
||||
refineParameters.delete();
|
||||
detector.delete();
|
||||
corners.delete();
|
||||
ids.delete();
|
||||
}
|
||||
});
|
||||
QUnit.test('Charuco detector', function (assert) {
|
||||
{
|
||||
let dictionary = new cv.getPredefinedDictionary(cv.DICT_4X4_50);
|
||||
let boardIds = new cv.Mat();
|
||||
let board = new cv.aruco_CharucoBoard(new cv.Size(3, 5), 64, 32, dictionary, boardIds);
|
||||
let charucoParameters = new cv.aruco_CharucoParameters();
|
||||
let detectorParameters = new cv.aruco_DetectorParameters();
|
||||
let refineParameters = new cv.aruco_RefineParameters(10, 3, true);
|
||||
let detector = new cv.aruco_CharucoDetector(board, charucoParameters, detectorParameters, refineParameters);
|
||||
let board_image = new cv.Mat();
|
||||
let corners = new cv.Mat();
|
||||
let ids = new cv.Mat();
|
||||
|
||||
board.generateImage(new cv.Size(300, 500), board_image);
|
||||
assert.ok(!board_image.empty());
|
||||
|
||||
detector.detectBoard(board_image, corners, ids);
|
||||
assert.ok(!corners.empty());
|
||||
assert.ok(!ids.empty());
|
||||
|
||||
dictionary.delete();
|
||||
boardIds.delete();
|
||||
board.delete();
|
||||
board_image.delete();
|
||||
charucoParameters.delete();
|
||||
detectorParameters.delete();
|
||||
refineParameters.delete();
|
||||
detector.delete();
|
||||
corners.delete();
|
||||
ids.delete();
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user