Commit Graph

54 Commits

Author SHA1 Message Date
Alexander Smorkalov
538b13aeec JS bindings for bar code detector. 2023-06-15 15:01:01 +03:00
Alexander Smorkalov
3af6001a75 JS bindings for Aruco-based QR code detector. 2023-06-13 17:20:52 +03:00
Alexander Smorkalov
843daca26e JS bingings fix for QR code detector. 2023-06-13 15:36:29 +03:00
Alexander Smorkalov
61488885b5 Refreshed JavaScript bindings for Aruco related algorithms. 2023-06-09 15:43:43 +03:00
anderskiaer
6c763e1ea5 Add possibility for disabling inlining wasm in opencv.js 2023-03-11 21:03:18 +01:00
Dmitry Kurtaev
76350cd30f
Merge pull request #23161 from dkurt:dnn_tflite
TFLite models importer

* initial commit

* Refactor TFLiteImporter

* Better FlatBuffers detection

* Add permute before 4D->3D reshape

* Track layers layout

* TFLite Convolution2DTransposeBias layer

* Skip TFLite tests without FlatBuffers

* Fix check of FlatBuffers in tests. Add readNetFromTFLite from buffer

* TFLite Max Unpooling test

* Add skip for TFLite unpooling test

* Revert DW convolution workaround

* Fix ObjC bindings

* Better errors handling

* Regenerate TFLite schema using flatc

* dnn(tflite): more checks, better logging

* Checks for unimplemented fusion. Fix tests
2023-02-13 14:00:20 +00:00
smeng9
b5a0d2b580
fix typo: stetDictionary to setDictionary 2023-01-08 23:58:54 -06:00
AlejandroSilvestri
253429d3f1
Add missing ORB.setFastThreshold(int) method
ORB constructor is failing to set the very important protected parameter fastThreshold,
so binding this method is necessary.
2022-12-27 09:39:56 -03:00
Alexander Smorkalov
b8f57c9a96 Update Javascript bindings for Aruco after migration 2022-12-21 15:46:04 +03:00
Hanxi Guo
1fcf7ba5bc
Merge pull request #20406 from MarkGHX:gsoc_2021_webnn
[GSoC] OpenCV.js: Accelerate OpenCV.js DNN via WebNN

* Add WebNN backend for OpenCV DNN Module

Update dnn.cpp

Update dnn.cpp

Update dnn.cpp

Update dnn.cpp

Add WebNN head files into OpenCV 3rd partiy files

Create webnn.hpp

update cmake

Complete README and add OpenCVDetectWebNN.cmake file

add webnn.cpp

Modify webnn.cpp

Can successfully compile the codes for creating a MLContext

Update webnn.cpp

Update README.md

Update README.md

Update README.md

Update README.md

Update cmake files and

update README.md

Update OpenCVDetectWebNN.cmake and README.md

Update OpenCVDetectWebNN.cmake

Fix OpenCVDetectWebNN.cmake and update README.md

Add source webnn_cpp.cpp and libary libwebnn_proc.so

Update dnn.cpp

Update dnn.cpp

Update dnn.cpp

Update dnn.cpp

update dnn.cpp

update op_webnn

update op_webnn

Update op_webnn.hpp

update op_webnn.cpp & hpp

Update op_webnn.hpp

Update op_webnn

update the skeleton

Update op_webnn.cpp

Update op_webnn

Update op_webnn.cpp

Update op_webnn.cpp

Update op_webnn.hpp

update op_webnn

update op_webnn

Solved the problems of released variables.

Fixed the bugs in op_webnn.cpp

Implement op_webnn

Implement Relu by WebNN API

Update dnn.cpp for better test

Update elementwise_layers.cpp

Implement ReLU6

Update elementwise_layers.cpp

Implement SoftMax using WebNN API

Implement Reshape by WebNN API

Implement PermuteLayer by WebNN API

Implement PoolingLayer using WebNN API

Update pooling_layer.cpp

Update pooling_layer.cpp

Update pooling_layer.cpp

Update pooling_layer.cpp

Update pooling_layer.cpp

Update pooling_layer.cpp

Implement poolingLayer by WebNN API and add more detailed logs

Update dnn.cpp

Update dnn.cpp

Remove redundant codes and add more logs for poolingLayer

Add more logs in the pooling layer implementation

Fix the indent issue and resolve the compiling issue

Fix the build problems

Fix the build issue

FIx the build issue

Update dnn.cpp

Update dnn.cpp

* Fix the build issue

* Implement BatchNorm Layer by WebNN API

* Update convolution_layer.cpp

This is a temporary file for Conv2d layer implementation

* Integrate some general functions into op_webnn.cpp&hpp

* Update const_layer.cpp

* Update convolution_layer.cpp

Still have some bugs that should be fixed.

* Update conv2d layer and fc layer

still have some problems to be fixed.

* update constLayer, conv layer, fc layer

There are still some bugs to be fixed.

* Fix the build issue

* Update concat_layer.cpp

Still have some bugs to be fixed.

* Update conv2d layer, fully connected layer and const layer

* Update convolution_layer.cpp

* Add OpenCV.js DNN module WebNN Backend (both using webnn-polyfill and electron)

* Delete bib19450.aux

* Add WebNN backend for OpenCV DNN Module

Update dnn.cpp

Update dnn.cpp

Update dnn.cpp

Update dnn.cpp

Add WebNN head files into OpenCV 3rd partiy files

Create webnn.hpp

update cmake

Complete README and add OpenCVDetectWebNN.cmake file

add webnn.cpp

Modify webnn.cpp

Can successfully compile the codes for creating a MLContext

Update webnn.cpp

Update README.md

Update README.md

Update README.md

Update README.md

Update cmake files and

update README.md

Update OpenCVDetectWebNN.cmake and README.md

Update OpenCVDetectWebNN.cmake

Fix OpenCVDetectWebNN.cmake and update README.md

Add source webnn_cpp.cpp and libary libwebnn_proc.so

Update dnn.cpp

Update dnn.cpp

Update dnn.cpp

Update dnn.cpp

update dnn.cpp

update op_webnn

update op_webnn

Update op_webnn.hpp

update op_webnn.cpp & hpp

Update op_webnn.hpp

Update op_webnn

update the skeleton

Update op_webnn.cpp

Update op_webnn

Update op_webnn.cpp

Update op_webnn.cpp

Update op_webnn.hpp

update op_webnn

update op_webnn

Solved the problems of released variables.

Fixed the bugs in op_webnn.cpp

Implement op_webnn

Implement Relu by WebNN API

Update dnn.cpp for better test

Update elementwise_layers.cpp

Implement ReLU6

Update elementwise_layers.cpp

Implement SoftMax using WebNN API

Implement Reshape by WebNN API

Implement PermuteLayer by WebNN API

Implement PoolingLayer using WebNN API

Update pooling_layer.cpp

Update pooling_layer.cpp

Update pooling_layer.cpp

Update pooling_layer.cpp

Update pooling_layer.cpp

Update pooling_layer.cpp

Implement poolingLayer by WebNN API and add more detailed logs

Update dnn.cpp

Update dnn.cpp

Remove redundant codes and add more logs for poolingLayer

Add more logs in the pooling layer implementation

Fix the indent issue and resolve the compiling issue

Fix the build problems

Fix the build issue

FIx the build issue

Update dnn.cpp

Update dnn.cpp

* Fix the build issue

* Implement BatchNorm Layer by WebNN API

* Update convolution_layer.cpp

This is a temporary file for Conv2d layer implementation

* Integrate some general functions into op_webnn.cpp&hpp

* Update const_layer.cpp

* Update convolution_layer.cpp

Still have some bugs that should be fixed.

* Update conv2d layer and fc layer

still have some problems to be fixed.

* update constLayer, conv layer, fc layer

There are still some bugs to be fixed.

* Update conv2d layer, fully connected layer and const layer

* Update convolution_layer.cpp

* Add OpenCV.js DNN module WebNN Backend (both using webnn-polyfill and electron)

* Update dnn.cpp

* Fix Error in dnn.cpp

* Resolve duplication in conditions in convolution_layer.cpp

* Fixed the issues in the comments

* Fix building issue

* Update tutorial

* Fixed comments

* Address the comments

* Update CMakeLists.txt

* Offer more accurate perf test on native

* Add better perf tests for both native and web

* Modify per tests for better results

* Use more latest version of Electron

* Support latest WebNN Clamp op

* Add definition of HAVE_WEBNN macro

* Support group convolution

* Implement Scale_layer using WebNN

* Add Softmax option for native classification example

* Fix comments

* Fix comments
2021-11-23 21:15:31 +00:00
Alexander Alekhin
3d5d3ea20c js: add TrackerMIL 2021-11-18 12:13:05 +00:00
Alexander Alekhin
87d4970e8b Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2021-10-04 19:50:01 +00:00
keroiber
f11f2bfb56
Merge pull request #20743 from keroiber:prefix_js_function_bindings_with_namespace
* Prefix global javascript functions with sub-namespaces

* js: handle 'namespace_prefix_override', update filtering

- avoid functions override with same name but different namespace

Co-authored-by: Alexander Alekhin <alexander.a.alekhin@gmail.com>
2021-10-04 16:51:49 +00:00
Alexander Alekhin
ca8c3dd9b5 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2021-03-22 12:05:23 +00:00
Alexander Alekhin
a97f6f8058 js: support setLogLevel() / getLogLevel() calls 2021-03-20 18:14:10 +00:00
Alexander Alekhin
b19f860384 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2021-03-13 13:02:18 +00:00
Ziachnix
960f501cc1
Merge pull request #19284 from Ziachnix:feature/js-qr-code-detector
Add QRCodeDetector to JavaScript Build

* ADD: js support for qrCodeDetector

- cherry picked commit to solve rebase error

* CHG. Revert haarcascade path

* FIX: Tests without images

* ADD: decodeCurved

* js(docs): don't require OPENCV_TEST_DATA_PATH

Co-authored-by: Alexander Alekhin <alexander.a.alekhin@gmail.com>
2021-03-13 12:52:44 +00:00
Alexander Alekhin
e5d78960c6 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2021-02-12 21:34:49 +00:00
Mieszko Boczkowski
a3fb64d1cd Pass custom config file path as absolute 2021-02-10 12:45:35 +01:00
Alexander Alekhin
ba3f150b14 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-12-25 16:25:14 +00:00
Alexander Alekhin
3eea3dd46b imgproc: add IntelligentScissors 2020-12-25 10:57:11 +00:00
Alexander Alekhin
7eeba4d485 js(build): reuse Python executable used to run main script
- don't switch between Python versions in the middle of the build
2020-12-24 05:25:38 +00:00
Alexander Alekhin
dac298ef41 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-12-18 20:47:56 +00:00
Alexander Alekhin
ef27c11d50 Merge pull request #19162 from alalek:backport_18985 2020-12-18 20:29:49 +00:00
Steffen Urban
c2bc171ef6 js: backport PR18985
original commit: b82700ae41
2020-12-18 12:12:10 +00:00
Steffen Urban
b82700ae41
Merge pull request #18985 from ZEISS:feature/aruco_js_fix
Aruco javascript fix and added functionality

* whitespace

* updated docu. updated regexp.

* update docu

* embindgen regex

* removed parser arg

* remove whitespace

* removed aruco hint

* remove whitespace

* removed aruco hint

* new docu string

* removed extra line

* remove whitespace

* removed aruco hint

* new docu string

* removed extra line
2020-12-18 12:01:48 +00:00
Alexander Alekhin
af71b03000 js: update documentation and builds scripts
- support modern Emscripten build process
- replaced Docker image
- replaced Emscripten's web URLs
2020-12-14 04:42:15 +00:00
Alexander Alekhin
6fdb7aee84 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-12-04 18:26:58 +00:00
Alexander Alekhin
7e5c4fe1cd cmake(js): update js targets
- unconditional js bindings source code generation
- use common name for tests: opencv_test_js
2020-12-03 14:18:54 +00:00
Alexander Alekhin
e8058b9fdb Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2020-10-21 15:55:23 +00:00
Kun Liang
c82417697a
Merge pull request #18068 from lionkunonly:gsoc_2020_simd
[GSoC] OpenCV.js: WASM SIMD optimization 2.0

* gsoc_2020_simd Add perf test for filter2d

* add perf test for kernel scharr and kernel gaussianBlur

* add perf test for blur, medianBlur, erode, dilate

* fix the errors for the opencv PR robot

fix the trailing whitespace.

* add perf tests for kernel remap, warpAffine, warpPersepective, pyrDown

* fix a bug in  modules/js/perf/perf_imgproc/perf_remap.js

* add function smoothBorder in helpfun.js and remove replicated function in perf test of warpAffine and warpPrespective

* fix the trailing white space issues

* add OpenCV.js loader

* Implement the Loader with help of WebAssembly Feature Detection, remove trailing whitespaces

* modify the explantion for loader in js_setup.markdown and fix bug in loader.js
2020-10-18 20:30:36 +00:00
Alexander Alekhin
0d7f770996 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-11-04 09:58:29 +00:00
Dizhenin Vlad
edc5518f68 Merge pull request #15608 from SimpleVlad:3.4
* Add flags for build js

* Add poi.json

* Rebase whitelist into JSON file

* Rework generator of white_list

* Fix small typos

* Transfer opencv_js.josn in opencv_js.config.py

* Edit OPENCV_JS_WHITELIST

* Write comment

* Add description

* Fix typos in desc

* flag's append deleeted

* Fix whitespace

* variable deleted

* fix comment on lines 229 and 235
2019-10-31 22:09:33 +03:00
Alexander Alekhin
e2a5a6a05c Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-09-25 18:32:44 +00:00
Wenzhao Xiang
c2096771cb Merge pull request #15371 from Wenzhao-Xiang:gsoc_2019
[GSoC 2019] Improve the performance of JavaScript version of OpenCV (OpenCV.js)

* [GSoC 2019]

Improve the performance of JavaScript version of OpenCV (OpenCV.js):
1. Create the base of OpenCV.js performance test:
     This perf test is based on benchmark.js(https://benchmarkjs.com). And first add `cvtColor`, `Resize`, `Threshold` into it.
2. Optimize the OpenCV.js performance by WASM threads:
     This optimization is based on Web Worker API and SharedArrayBuffer, so it can be only used in browser.
3. Optimize the OpenCV.js performance by WASM SIMD:
     Add WASM SIMD backend for OpenCV Universal Intrinsics. It's experimental as WASM SIMD is still in development.

* [GSoC2019] 

1. use short license header
2. fix documentation node issue
3. remove the unused `hasSIMD128()` api

* [GSoC2019]

1. fix emscripten define
2. use fallback function for f16

* [GSoC2019]

Fix rebase issue
2019-09-24 16:30:42 +03:00
Alexander Alekhin
b95e93c20a Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-06-26 20:19:04 +00:00
Cameron Martin
0ae053fdf8 js: Add findHomography js bindings.
Removed constants from legacy C api and switched out header with shorter version.

Removed blank line that was failing CI.
2019-06-21 13:13:53 +03:00
Alexander Alekhin
fcec053d59 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2019-02-05 19:12:41 +03:00
Dmitry Kurtaev
8ecc5e6f64 Add tests for features2d JavaScript bindings 2019-02-01 19:12:31 +03:00
Rijubrata Bhaumik
e70786e05e Merge pull request #13300 from riju:photoModule
* Enable Javascript bindings for photo module.

1. Enable the build flag in build_js.py.
2. Append js into WRAP list of photo’s CMakefiles.txt
3. Add photo module's API into JS API whitelist (embindgen.py)

Exposing the HDR imaging part of photo module.

[TODO]
Add tests
Fix opencv/doc/js_tutorials/

* [WIP] TODO: Add tests

* Remove TonemapDurand: algorithm patented in US, so moved to opencv_contrib

* Fix ningxin's comment: expose the base class.

* Add some more simple binding tests.

Also expose process function
2018-12-09 15:08:59 +03:00
Alexander Alekhin
edacd91a27 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-10-15 20:15:42 +00:00
Alexander Alekhin
f185640eda
Merge pull request #12799 from alalek:update_build_js
* js: update build script

- support emscipten 1.38.12 (wasm is ON by default)
- verbose build messages

* js: use builtin Math functions

* js: disable tracing code completelly
2018-10-15 17:35:21 +03:00
Alexander Alekhin
1ed9ff17e1 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-10-12 10:05:55 +00:00
Alexander Alekhin
5faaa28870 js: enable calib3d code (no bindings) 2018-10-11 00:49:45 +00:00
Alexander Alekhin
690fb0544c Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-10-02 14:31:05 +03:00
Alexander Alekhin
4fea6179a0 Merge pull request #12659 from dkurt:js_features2d 2018-09-28 16:18:09 +00:00
Alexander Alekhin
a8b0db4e5d Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-09-28 14:14:47 +03:00
Dmitry Kurtaev
e9f99063c7 JavaScript bindings for features2d module 2018-09-28 11:04:13 +03:00
Alexander Alekhin
fe56bdeeb9
Merge pull request #12647 from alalek:cmake_js_cleanup
* cmake: js cleanup

- avoid unnecessary 2 messages for other platforms
- drop MODULE_NAME variable

* js: cleanup build_js.py
2018-09-26 18:53:02 +03:00
Alexander Alekhin
fcfa488250 build: fix js build (make video->calib3d dependency optional)
- estimateRigidTransform() is excluded from JS bindings
2018-08-31 14:29:25 +03:00