未验证 提交 0d7c039e 编写于 作者: A Alexander Smorkalov 提交者: GitHub

Merge pull request #23797 from asmorkalov:as/barcode_js_bindings

Barcode js bindings
......@@ -236,11 +236,6 @@ class ArgInfo(object):
self.tp = "std::vector<cv::Mat>&"
elif self.inputarg:
self.tp = "const std::vector<cv::Mat>&"
if self.tp == "vector_string":
if self.outputarg:
self.tp = "std::vector<std::string>&"
elif self.inputarg:
self.tp = "const std::vector<std::string>&"
self.tp = handle_vector(self.tp).strip()
if self.const:
self.tp = "const " + self.tp
......
......@@ -101,6 +101,9 @@ using namespace cv::dnn;
typedef TrackerMIL::Params TrackerMIL_Params;
#endif
// HACK: JS generator ommits namespace for parameter types for some reason. Added typedef to handle std::string correctly
typedef std::string string;
namespace binding_utils
{
template<typename classT, typename enumT>
......
......@@ -221,6 +221,27 @@ QUnit.test('Aruco-based QR code detect', function (assert) {
mat.delete();
}
});
QUnit.test('Bar code detect', function (assert) {
{
let detector = new cv.barcode_BarcodeDetector();
let mat = cv.Mat.ones(800, 600, cv.CV_8U);
assert.ok(mat);
let points = new cv.Mat();
let codeFound = detector.detect(mat, points);
assert.equal(points.rows, 0)
assert.equal(points.cols, 0)
assert.equal(codeFound, false);
codeContent = detector.detectAndDecode(mat);
assert.equal(typeof codeContent, 'string');
assert.equal(codeContent, '');
detector.delete();
points.delete();
mat.delete();
}
});
QUnit.test('Aruco detector', function (assert) {
{
let dictionary = cv.getPredefinedDictionary(cv.DICT_4X4_50);
......
......@@ -126,7 +126,8 @@ objdetect = {'': ['groupRectangles', 'getPredefinedDictionary', 'extendDictionar
'aruco_ArucoDetector': ['ArucoDetector', 'detectMarkers', 'refineDetectedMarkers', 'setDictionary', 'setDetectorParameters', 'setRefineParameters'],
'aruco_CharucoDetector': ['CharucoDetector', 'setBoard', 'setCharucoParameters', 'setDetectorParameters', 'setRefineParameters', 'detectBoard', 'detectDiamonds'],
'QRCodeDetectorAruco_Params': ['Params'],
'QRCodeDetectorAruco': ['QRCodeDetectorAruco', 'decode', 'detect', 'detectAndDecode', 'detectMulti', 'decodeMulti', 'detectAndDecodeMulti', 'setDetectorParameters', 'setArucoParameters']
'QRCodeDetectorAruco': ['QRCodeDetectorAruco', 'decode', 'detect', 'detectAndDecode', 'detectMulti', 'decodeMulti', 'detectAndDecodeMulti', 'setDetectorParameters', 'setArucoParameters'],
'barcode_BarcodeDetector': ['BarcodeDetector', 'decode', 'detect', 'detectAndDecode', 'detectMulti', 'decodeMulti', 'detectAndDecodeMulti', 'decodeWithType', 'detectAndDecodeWithType']
}
video = {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册