diff --git a/modules/js/src/embindgen.py b/modules/js/src/embindgen.py index 7ba9b6038f..3a7a977774 100644 --- a/modules/js/src/embindgen.py +++ b/modules/js/src/embindgen.py @@ -142,6 +142,27 @@ features2d = {'Feature2D': ['detect', 'compute', 'detectAndCompute', 'descriptor 'BFMatcher': ['isMaskSupported', 'create'], '': ['FAST', 'AGAST', 'drawKeypoints', 'drawMatches']} +photo = {'': ['createAlignMTB', 'createCalibrateDebevec', 'createCalibrateRobertson', \ + 'createMergeDebevec', 'createMergeMertens', 'createMergeRobertson', \ + 'createTonemapDrago', 'createTonemapMantiuk', 'createTonemapReinhard'], + 'CalibrateCRF': ['process'], + 'AlignMTB' : ['calculateShift', 'shiftMat', 'computeBitmaps', 'getMaxBits', 'setMaxBits', \ + 'getExcludeRange', 'setExcludeRange', 'getCut', 'setCut'], + 'CalibrateDebevec' : ['getLambda', 'setLambda', 'getSamples', 'setSamples', 'getRandom', 'setRandom'], + 'CalibrateRobertson' : ['getMaxIter', 'setMaxIter', 'getThreshold', 'setThreshold', 'getRadiance'], + 'MergeExposures' : ['process'], + 'MergeDebevec' : ['process'], + 'MergeMertens' : ['process', 'getContrastWeight', 'setContrastWeight', 'getSaturationWeight', \ + 'setSaturationWeight', 'getExposureWeight', 'setExposureWeight'], + 'MergeRobertson' : ['process'], + 'Tonemap' : ['process' , 'getGamma', 'setGamma'], + 'TonemapDrago' : ['getSaturation', 'setSaturation', 'getBias', 'setBias', \ + 'getSigmaColor', 'setSigmaColor', 'getSigmaSpace','setSigmaSpace'], + 'TonemapMantiuk' : ['getScale', 'setScale', 'getSaturation', 'setSaturation'], + 'TonemapReinhard' : ['getIntensity', 'setIntensity', 'getLightAdaptation', 'setLightAdaptation', \ + 'getColorAdaptation', 'setColorAdaptation'] + } + def makeWhiteList(module_list): wl = {} for m in module_list: @@ -152,7 +173,7 @@ def makeWhiteList(module_list): wl[k] = m[k] return wl -white_list = makeWhiteList([core, imgproc, objdetect, video, dnn, features2d]) +white_list = makeWhiteList([core, imgproc, objdetect, video, dnn, features2d, photo]) # Features to be exported export_enums = False diff --git a/modules/js/test/test_photo.js b/modules/js/test/test_photo.js new file mode 100644 index 0000000000..a2921e6669 --- /dev/null +++ b/modules/js/test/test_photo.js @@ -0,0 +1,106 @@ +// ////////////////////////////////////////////////////////////////////////////////////// +// +// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. +// +// By downloading, copying, installing or using the software you agree to this license. +// If you do not agree to this license, do not download, install, +// copy or use the software. +// +// +// License Agreement +// For Open Source Computer Vision Library +// +// Copyright (C) 2013, OpenCV Foundation, all rights reserved. +// Third party copyrights are property of their respective owners. +// +// Redistribution and use in source and binary forms, with or without modification, +// are permitted provided that the following conditions are met: +// +// * Redistribution's of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// +// * Redistribution's in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// * The name of the copyright holders may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// This software is provided by the copyright holders and contributors "as is" and +// any express or implied warranties, including, but not limited to, the implied +// warranties of merchantability and fitness for a particular purpose are disclaimed. +// In no event shall the Intel Corporation or contributors be liable for any direct, +// indirect, incidental, special, exemplary, or consequential damages +// (including, but not limited to, procurement of substitute goods or services; +// loss of use, data, or profits; or business interruption) however caused +// and on any theory of liability, whether in contract, strict liability, +// or tort (including negligence or otherwise) arising in any way out of +// the use of this software, even if advised of the possibility of such damage. +// + +// Author : Rijubrata Bhaumik, Intel Corporation. rijubrata.bhaumik[at]intel[dot]com + +if (typeof module !== 'undefined' && module.exports) { + // The envrionment is Node.js + var cv = require('./opencv.js'); // eslint-disable-line no-var +} + + +QUnit.module('Photo', {}); + +QUnit.test('test_photo', function(assert) { + // CalibrateDebevec + { + let calibration = new cv.CalibrateDebevec(); + assert.ok(true, calibration); + //let response = calibration.process(images, exposures); + } + // CalibrateRobertson + { + let calibration = new cv.CalibrateRobertson(); + assert.ok(true, calibration); + //let response = calibration.process(images, exposures); + } + + // MergeDebevec + { + let merge = new cv.MergeDebevec(); + assert.ok(true, merge); + //let hdr = merge.process(images, exposures, response); + } + // MergeMertens + { + let merge = new cv.MergeMertens(); + assert.ok(true, merge); + //let hdr = merge.process(images, exposures, response); + } + // MergeRobertson + { + let merge = new cv.MergeRobertson(); + assert.ok(true, merge); + //let hdr = merge.process(images, exposures, response); + } + + // TonemapDrago + { + let tonemap = new cv.TonemapDrago(); + assert.ok(true, tonemap); + // let ldr = new cv.Mat(); + // let retval = tonemap.process(hdr, ldr); + } + // TonemapMantiuk + { + let tonemap = new cv.TonemapMantiuk(); + assert.ok(true, tonemap); + // let ldr = new cv.Mat(); + // let retval = tonemap.process(hdr, ldr); + } + // TonemapReinhard + { + let tonemap = new cv.TonemapReinhard(); + assert.ok(true, tonemap); + // let ldr = new cv.Mat(); + // let retval = tonemap.process(hdr, ldr); + } + +}); \ No newline at end of file diff --git a/modules/js/test/tests.html b/modules/js/test/tests.html index 2ed5325c5b..8f65ce7f66 100644 --- a/modules/js/test/tests.html +++ b/modules/js/test/tests.html @@ -28,6 +28,7 @@ +