Commit Graph

738 Commits

Author SHA1 Message Date
Vadim Pisarevsky
a6d634b5b8 Merge pull request #9683 from terfendail:grects_weights 2017-09-28 14:02:12 +00:00
Congxiang Pan
89b6e68e1e Merge pull request #9466 from huningxin:js
GSoC 2017: Improve and Extend the JavaScript Bindings for OpenCV (#9466)

* Initial support for build with emscripten

mkdir build_js
cd build_js
cmake -D CMAKE_TOOLCHAIN_FILE=/path/to/emsdk/emsdk-portable/emscripten/master/cmake/Modules/Platform/Emscripten.cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

* Add js module

The output is build/bin/opencv_js.js

* Fix opencv2/calib3d.hpp not found issue

* Add module name

Usage:
var cv = cv();

* Add total memory as 128MB and allow growth

* Add compilation flags for emscripten

* Use EMSCRIPTEN build target

* Disable js module for non emscripten build

* Bind the preload file path to root

Usage:
face_cascade.load('haarcascade_frontalface_default.xml');

* add test folder

* fix test files

* Copy js module test to bin

* Support to run tests on Node.js

Fix tests to import cv Module when runtime is node.
Add tests.js to use qunit to auto run tests.
Modify umd wrapper to support Module is not defined.

Usage:
node tests.js

* Support UMD and file system

Wrap the opencv_js.js to opencv.js by UMD wrapper

Use emscripten file system API to load files instead of generating data file or
embedding them. It supports both browser and node.js usages.

* Fix incorrect module name in tests

* Add package.json to add dependence of qunit

* Add js_tutorials folder and a intro page of opencv.js

Enable BUILD_DOCS in CMakeLists.txt.
Add new folder of js_tutorials in folder opencv/doc.
Imitate the tutorials of OpenCV-Python to create a intro page of opencv.js and a setup guide

* Import and use binding gen from opencvjs project

* Modify the embindgen.py to pass the build and test

* Add classes and functions white list

* Consolidate hdr_parser.py (#31)

Use hdr_parser.py of python module

Add js flag to support js binding generator.

* Use emscripten::vecFromJSArray for input vector param

Fix part of #23

* Fix test cases after #34

Fix #39

* Expose groupRectangles and CascadeClassifier.empty

* Add js highgui tutorials

add tutorials of imread&imshow and createTrackbar in doc/js_tutorials/js_gui folder
add interactive tutorial webpage for imread&imshow and createTrackbar in doc/js_tutorials/js_interactive_tutorials folder, and some images needed.
change doc/CMakeLists.txt to copy the interactive tutorial webpage and opencv.js to the tutorials' destination folder

* rm useless annotation in doc/CMakeLists.txt

* fix some nonstandard indentation and space

* add check if canvas is valid

* Expose BackgroundSubtractorMOG2

Fix #43

* Fix build of js doc

Limit copy_js_interactive_tutorials for doxygen build
Add dep to opencv.js

Fix #53

* Implement cv.imread & cv.imshow and insert interactive pages in tutorials (#55)

* add helper.js

* delete ALL in add target copy_js_interactive_tutorials to avoid dependence error

* Insert interactive pages in tutorials

insert the old interactive pages in markdown by using \htmlonly and \endhtmlonly command.
delete the useless interactive page
rename js_interactive_tutorials to js_assets to put some images needed in

* fix the depends of the target doxygen

add opencv.js to depends and delete the useless target of copy_js_assets

* change filename helper.js to helpers.js

* disable button or trankbar before opencv.js is ready

* Expose CV_64F

Fix #65

* improve cv.imshow to display different types as native imshow

* add utils.js to reuse functions and update tutorials

* Make doxygen depend on bin/opencv.js

* Fix memory issue of matFromArray

Fix #37

* Merge pull request from ganwenyao/tutorial_18

* Add notes for ganwenyao/tutorial_18

* Modifying for ganwenyao/tutorial_18

* Change Mat constructor with data to 5 parameters

* Mat supports constructor with Scalar

Fix #60

* update cv.imread cause the memory issue of matFromArray has been fixed

* fix canvas name and default input image

* Expose cv::Moments

Fix #85

* Add -Wno-missing-prototypes for emscripten build

* fix canvas name

* add tutorial of video input and output

* Expose enums as emscripten consts

Fix #72

* update the tutorial to use Mat constructor with Scalar and change lena.jpg

* Exclude cv::Mat for vecFromJSArray

Fix #82

* Add unit tests for cv.moments

* Fix the unit tests.

* add checkbox and stop button

* add adapter.js to make sure compatibility fo video tutorials

* Support default parameters with function overloading

* modify enums to constants

* Use https URL for MathJax.js

Fix #109

* Comment out the debug print in embindgen.py

* Expose RotatedRect

Fix #96

* replace enum with constants and improve onload function

* delete some useless paras cause #105 fixed this

* Modify const name

* Modify Contour Properties

* tutorials for imgprc2 and objdec

* Expose more functions for img proc tutorials

Fix #76

* Expose polylines for video analysis tutorial

Fix #121

* Expose constants for default parameters of img proc tutorials

Fix #122

* Fix wrong parameter types of Mat.copyTo

Fix #87

* Support default parameters of mat.convertTo

Fix #123

* Support default parameters for external constructors

Fix #131

* Revert "Expose polylines for video analysis tutorial"

This reverts commit 3ce7615652e510d30e3c0014706ac38c98883189.

Fix #121

* Support cv.minMaxLoc

Fix #127

* Expose cv.minEnclosingCircle

Fix #126

* Add video analysis tutorials

add three video tutorials, Meanshift and Camshift, Optical Flow Background Subtraction
add cup.mp4 and box.mp4 for demo in tutorials

* improve image processing tutorials

* repalce console.warn with throw to throw exception

* add try-catch to throw exception in code demo

* Change mat.size() return value to JS Array object

Fix #140

* add a note about different channels order between canvas and native opencv

* add a note about how to capture video from video files

* Binding cv.Scalar to JS array

Fix #147

* Add JS cv.Scalar object into helpers.js

* Update Install OpenCV-JavaScript tutorial page

Fix #44

* Update the OpenCV-JavaScript introduction page

Fix #44

* add cv.VideoCapture and read() function

* set the size of the hidden canvas same as the video

* Add Using OpenCV-JavaScript tutorial page

Fix #44

* fix some bad code style

* Update tutorials after 8/2 sync meeting

Changes include:
- Use OpenCV.js name instead of OpenCV-JavaScript
- Put using OpenCV.js ahead of build OpenCV.js
- Refine usage and introduction page
- Muted the video in tutorials

* Fix a typo in introduction page

* use cv.VideoCapture and its read() function to read video

* replace OpenCV-JavaScript with OpenCV.js

* Use onload of async script in js_usage tutorial

* add more info about mat.data

* Change Size to value_object

* Integrate Moh and Sajjad's editing into introduction page

* Change Point to value_object

* Change Rect to value_object with helper object

* Add helper objects for Point and Size

* Change RotatedRect to value_object with helpers

* Change MinMaxLoc and Circle to value_object

* Change TermCriteria to value_object

* Fix core_bindings.cpp for MinMaxLoc and Circle

* Remove unused types

* Change meanShift and CamShift to return Rect

* Change methods of RotatedRect to static

* Change mat.data from methods to property

Fix #75 and #77

* support img id and element in cv.imread

* Change mat.size to property and add mat.step

Fix #163

* Add matFromArray and matFromImageData as JS helpers

Fix #79, #78

* Lower camel case for Mat element getters

Fix #81

* Mat.getRoiRect and tests

Fix #86

* Support type for Mat.ptr

Fix #83

* Name changing of Mat element getters

'getUcharAt` -> 'ucharAt'

* fix code style and args names

* Fix helpers.js due to cv.Mat API update

* Fix opencv.js usage tutorial

* Fix a typo of js_setup

* Change Moments to value_object

* Add Range as value_object

Fix #171

* Support Mat.diag and Mat.isContinous

Fix #84 and #89

* Support Mat.setTo

Fix #88

* Apply edits to js_intro

* Apply edits to js_usage

* Apply edits to js_setup

* update tutorials to apply data type change

* Modify tutorials

* add core tutorials

* delete MatVector elements and delete useless set operation

* add tutorials_objdec_camera

* Add instructions for WebAssembly

* apply tech writer's feedbacks into tutorials

* Organize white list by modules

* Change size to method and bind to MatExpr.size()

Fix #177

* improve tutorials

* Modify core tutorials

* add params list and explanations for OpenCV.js functions

* remove face_profile from Face Detection in Video Capture

* Add demos link

* Change Gui to GUI

* Update js_intro based on Moh and Sajjad's edits

* Fixup for 3.3.0 rebase

* Update js_intro per Moh's suggestion

* Update contributors list per Moh's idea

* add adapter.js in video_display tutorial

* Change Mat.getRoiRect to Mat.roi

Fix #194

* Remove unnecessary files for test

Fix #192

* Licenses updated to UC BSD 3-Clause

* Apply OpenCV coding style for C++ files

* Add OpenCV license for python and js files

* Fix coding style issue in helpers.js

* Remove unused test_commons.js

* Fix coding style of test_imgproc.js

* Fix coding style of test_mat.js

* Fix space before semicolon

* Fix coding style of test_objdetect.js

* Fix coding style of tests.js

* Fix coding style of test_utils.js

* Fix coding style of test_video.js

* Fix failures of node.js tests

* Add eslint rule config and fix eslint errors

* Add eslint config for js/src and fix eslint errors

* Clean up the opencv.js dependencies

Fix #186

* Fix build issue for python generator

* Fix doxygen buildbot failure

* delete trailing whitespace, blank line at EOF and replace tab with space

* Fix tutorial_js_root reference issue for non opencv.js build

* replace the file with small size

* Initial commit of build_js.py

* Move the js build configurations to build script

* Add wasm build support

* Update OpenCV.js build tutorial by using script

* Fix global var issue in tests

* Add a README.md for build_js.py

* Copy the haar cascade files from data dir for tutorials

* Not use memory init file

* Disable debug print for modules/js/CMakeLists.txt

* Check files when build done

* Fix image name in js_gradients tutorial

* Fix image load issue in js_trackbar tutorial

* Find the opencv source directory via relative path by default

* Make the cmake args based on build_doc option

* Fix a typo in js_setup.markdown

* Fix make failure issue on config generated by build_js.py

* Eliminate js branch of hdr_parser.py

* Extract examples from js_basic_ops tutorial

* Fix coding style of utils.js

* Improve examples error handling

Handle:
1. opencv.js loading errors
2. script errors (Error)
3. cv::Exception

Fix #217

* Add enable_exception option into build_js.py

* Support print exception for exception catching disabled build

* Extract example from js_usage tutorial

* Avoid copying .eslintrc.json when building doc

Fix #223

* Revert to use onload as opencv.js ready event

* Use 4 spaces indention for js examples

* embed html in tutorials with iframe tag

* Revert to use onload as opencv.js ready event

* Extract examples from js_video_display tutorial

* Implement Utils object

* modify core imgprc and face_detection tutorials

* Fix examples of js_gui tutorials

* Fix coding style of utils.js

* Modify tutorials

* Extract example from js_face_detection_camera tutorial

* Disable new-cap check in eslint

* Extract examples from js_meanshift tutorial

* Extract examples from video tutorials

* Remove new-cap declaration and update grammer in comments

* Change textarea width to 100 to align with eslint config

* Fix printError issue when opencv.js loading fails

* Remove BUILD_opencv_js dependency for doc build

Fix #213

* Expose cv::getBuildInformation

* Dump opencv build info when opencv.js loaded for live examples

* Make the button to stand out in js live examples

Fix #235

* Style for disabled button

* Add js_imgproc_camera.html example

* Fix coding style of imgproc_camera example

* Add js_imgproc_camera tutorial

* Remove link to opencv.js demos

* doc: copy opencv.js on build, use absolute paths for assets

* doc: reuse existed file box.mp4
2017-09-25 16:52:07 +03:00
Vitaly Tuzov
9a70fd0123 Disabling reset of 'weights' array for reject level mode of groupRectangles function. 2017-09-21 18:21:50 +03:00
Alexander Alekhin
2566ef3515 Merge pull request #9526 from sturkmen72:update_documentation 2017-09-15 18:47:06 +00:00
Suleyman TURKMEN
d547c6b1a2 documentation improvement 2017-09-13 17:24:59 +03:00
Vadim Pisarevsky
258b13f2e0 Merge pull request #9600 from StevenPuttemans:fix_9583 2017-09-13 13:27:04 +00:00
Steven Puttemans
98e0d13f99 fixing issue 9583 - issue in cascadeclassifier code clipObjects 2017-09-11 09:15:04 +02:00
Maksim Shabunin
248e2c7d47 Fixed some issues found by static analysis 2017-09-08 12:22:12 +03:00
Vladislav Sovrasov
f2105419fa objdetect: fix wrong cxx11 features check 2017-09-07 12:49:49 +03:00
Alexander Alekhin
bc3280d64d Merge pull request #9414 from gadcam:HOGDescriptor-winSigma 2017-08-24 15:57:18 +00:00
Pavel Vlasov
a57718e1ac ICV2017u3 package update;
- Optimizations set change. Now IPP integrations will provide code for SSE42, AVX2 and AVX512 (SKX) CPUs only. For HW below SSE42 IPP code is disabled.
- Performance regressions fixes for IPP code paths;
- cv::boxFilter integration improvement;
- cv::filter2D integration improvement;
2017-08-23 14:24:43 +03:00
Camille Barneaud
d5e64f4eb2 Avoid HOGDescriptor with sigma = 0
Solve #9307.
2017-08-19 15:03:16 +02:00
Suleyman TURKMEN
89480801b8 some improvements on tutorials 2017-07-29 20:08:19 +03:00
Alexander Alekhin
5a54acef4e Merge pull request #9130 from alalek:android_define 2017-07-14 17:17:24 +00:00
Alexander Alekhin
431e2e6d68 Merge pull request #9042 from terfendail:haar_avx
AVX optimized implementation of haar migrated to separate file
2017-07-14 15:05:11 +00:00
Alexander Alekhin
a4a47b538c build: detect Android via '__ANDROID__' macro
https://sourceforge.net/p/predef/wiki/OperatingSystems
2017-07-10 12:43:59 +03:00
Vitaly Tuzov
77264dcca9 AVX optimized implementation of haar migrated to separate file 2017-07-04 16:54:48 +03:00
Maksim Shabunin
1f23202ad8 Issues found by static analysis (5th round) 2017-07-01 18:56:24 +03:00
Maksim Shabunin
e0393f8557 Fixed some issues found by static analysis (4th round) 2017-06-30 12:26:53 +03:00
Maksim Shabunin
a769d69a9d Fixed several issues found by static analysis 2017-06-28 18:06:18 +03:00
Maksim Shabunin
32d4af36e2 Fixing some static analysis issues 2017-06-27 14:30:26 +03:00
678098
d0ab595f52 batch-oriented mutex locking in parallel haar detect loop body 2017-06-21 23:25:57 +03:00
Vladislav Sovrasov
6c164d86b9 obdetect: fix in SSE code 2017-05-26 14:26:05 +03:00
Pavel Vlasov
11c2ffaf1c Update for IPP for OpenCV 2017u2 integration;
Updated integrations for:
cv::split
cv::merge
cv::insertChannel
cv::extractChannel
cv::Mat::convertTo - now with scaled conversions support
cv::LUT - disabled due to performance issues
Mat::copyTo
Mat::setTo
cv::flip
cv::copyMakeBorder - currently disabled
cv::polarToCart
cv::pow - ipp pow function was removed due to performance issues
cv::hal::magnitude32f/64f - disabled for <= SSE42, poor performance
cv::countNonZero
cv::minMaxIdx
cv::norm
cv::canny - new integration. Disabled for threaded;
cv::cornerHarris
cv::boxFilter
cv::bilateralFilter
cv::integral
2017-04-25 15:53:12 +03:00
Vadim Pisarevsky
a57d144076 Merge pull request #7462 from alalek:cpu_multi_target 2017-03-21 19:51:32 +00:00
Maksim Shabunin
9333f82be0 Reduce dependencies between modules 2017-03-15 17:58:52 +03:00
Alexander Alekhin
e16227b53c cmake: support multiple CPU targets 2017-02-13 19:52:59 +03:00
StevenPuttemans
bfb18d29a6 add explanation to detectMultiScale overload functionality 2017-02-06 10:38:03 +01:00
Alexander Alekhin
737fa519d1 test: use relative error in HOG tests 2016-12-15 15:58:16 +03:00
Alexander Alekhin
44d9d59f08 ocl: stop using of OpenCL without explicit UMat arguments 2016-12-04 02:34:17 +03:00
Colin Finck
e8f591143c objdetect: Properly check for C++11 as it's done in the matching .cpp file. Fixes #7623 2016-11-28 10:15:16 +01:00
Alexander Alekhin
771fa5b8ac test: change EPS in Objdetect_HOGDetector tests 2016-11-21 14:59:06 +03:00
mshabunin
3e28d51779 Fixed several OpenCL compiler warnings 2016-11-07 16:49:12 +03:00
Eric Sommerlade
049a894986 fixed detection_based_tracker on visual studio 2013 and later
modules/objectdetect/src/detection_based_tracker.cpp: made unique_lock<mutex> local to each function
samples/cpp/dbt_face_detection.cpp: fixed warnings on loop in Visual Studio
2016-10-31 11:07:09 +00:00
StevenPuttemans
ca762a6ba7 allow minObjectSize==maxObjectSize for single scale detection capability 2016-10-13 16:05:23 +02:00
Alexander Alekhin
1c18b1d245 Merge pull request #7370 from souch55:Fixxn 2016-10-01 10:44:56 +00:00
sourin
a34fbf7bb1 Fixed identifiers warns 2016-09-30 15:16:29 +05:30
daB0bby
5728795cf7 Merge pull request #7320 from daB0bby:patch-1
* bypass makro

* syntax
2016-09-21 14:22:58 +03:00
Pavel Vlasov
30a6cee2fe Instrumentation for OpenCV API regions and IPP functions; 2016-08-19 18:10:03 +03:00
Vadim Pisarevsky
26bf5b5de3 Merge pull request #6797 from tomoaki0705:featureSIMDHog 2016-07-18 18:34:21 +00:00
Alexander Alekhin
ddc0b42bc3 migration: github.com/opencv/opencv 2016-07-12 12:51:12 +03:00
Tomoaki Teshima
59fabb2767 use NEON as same as SSE 2016-07-09 16:53:01 +09:00
StevenPuttemans
89df7923a7 revert PR 5362 2016-02-04 13:20:21 +01:00
Alexander Alekhin
323e24e3ef change links from samples/python2 to samples/python 2015-12-18 11:00:30 +03:00
Vadim Pisarevsky
a0f6cd8df5 Merge pull request #5362 from Dikay900:cascade_reject_stage 2015-12-10 10:51:42 +00:00
Alexander Alekhin
e860ed7689 Merge pull request #5714 from ajbernal:OCL_HOG_Fix 2015-11-30 09:44:37 +00:00
Ariel Bernal
5c8683139f Fix for #5710. OpenCL HOG Object detect assigns the wrong SIMD size.
In oder to guarantee SIMDness between the two compilation steps we choose the
highest SIMD size that is optimized in the kernel for the first step.
2015-11-25 16:20:04 -08:00
Vadim Pisarevsky
3942b1f362 Merge pull request #5340 from alalek:ocl_off 2015-11-10 16:53:36 +00:00
Maksim Shabunin
6e9d0d9a0c Visual Studio 2015 warning and test fixes 2015-10-20 12:48:37 +03:00
Dikay900
7b0b12de58 appropriate logic behind last accepted stage when rejectingLevels is true 2015-10-09 23:19:42 +02:00
Pavel Vlasov
e837d69f8f IPPInitSingelton was added to contain IPP related global variables;
OPENCV_IPP env var now allows to select IPP architecture level for IPP9+;
IPP initialization logic was unified across modules;
2015-10-01 09:58:48 +03:00
Pavel Vlasov
62854dcc0d Enables support of IPP 9.0.0;
HAVE_IPP_ICV_ONLY will be undefined if OpenCV was linked against ICV packet from IPP9 or greater. ICV9+ packets will be aligned with IPP in OpenCV APIs
This will ease code management between IPP and ICV
2015-09-29 17:27:13 +03:00
Alexander Alekhin
7213e5f68a ocl: correct disabling of OpenCL code 2015-09-13 20:28:23 +03:00
Alexander Alekhin
caaf60ba00 remove bindings generation for DetectionBasedTracker 2015-06-09 19:01:04 +03:00
Vadim Pisarevsky
b46719b093 Merge pull request #4074 from vpisarev:objdetect_fixes 2015-05-28 19:43:51 +00:00
Vadim Pisarevsky
882c0321f4 clip the found objects in HOG as well (http://code.opencv.org/issues/3825); added test to check CascadeClassifier on small images (http://code.opencv.org/issues/3710) 2015-05-28 21:02:27 +03:00
Vadim Pisarevsky
8c3c6b31fc make sure the returned rectangles are inside the image (http://code.opencv.org/issues/3136) 2015-05-28 20:15:22 +03:00
Vadim Pisarevsky
5a94a95fbf improvements in Haar CascadeClassifier: 1) use CV_32S instead of CV_32F for the integral of squares (which is more accurate and more efficient); 2) skip the window if its contrast is too low 2015-05-28 19:33:21 +03:00
Vadim Pisarevsky
f7ad192842 Merge pull request #4063 from Dikay900:2_4_to_master 2015-05-28 14:49:13 +00:00
Vadim Pisarevsky
5f8f56ea0e report an error when trying to load HOG cascade 2015-05-28 17:24:22 +03:00
rajithr
7658c2e2d5 Fix for a potential data race condition
code changes to handle the failed build
2015-05-27 15:12:04 +05:30
rajithr
993e0b0bf9 Fix for a potential data race condition 2015-05-27 15:00:21 +05:30
StevenPuttemans
6aedd4f7b0 fixing SVM negative value rounding
Conflicts:
	modules/objdetect/src/hog.cpp

fix android build
2015-05-26 17:26:30 +02:00
rajithr
ff6881efbf Fix for a potential data race condition 2015-05-26 11:31:31 +05:30
Dikay900
a5242265d7 cleanup after last PR 2015-05-18 00:31:39 +02:00
Vadim Pisarevsky
8b791477df Merge pull request #3971 from Dikay900:2_4_to_master_3 2015-05-17 00:28:30 +00:00
David Hirvonen
cab0ecdf19 Avoid clearing HaarEvaluator::tofs variable (introduced fb8478eb7b) in HaarEvaluator::setImage(...) since it won't be recomputed by HaarEvaluator::computeOptFeatures() for cases where the input image dimensions and requested search scales are the same as the previous. If none of the above change then it should be correct, and if they do change it will be computed correctly inside HaarEvaluator::computeOptFeatures() (in commit 952f9dbe62)
I'm guessing there is a unit test for this that needs to be called 2x with the same image and search parameters (or another image with the same size) to illustrate the problem.
2015-05-13 17:34:16 -04:00
Michaël Sdika
ab40c2acf7 added the signedGradient varaible to the HOGDescriptor class.
when true, use signed gradient for the angular histogram computation.
default to false for backward compatibility.
2015-05-10 09:23:30 +02:00
lujia
b73894b271 bugfix_for_hog_detectMultiScale_with_weights 2015-04-29 11:46:26 +02:00
Dikay900
952f9dbe62 initialize tiltedOffset variable at correct location
do not use this variable if it is not an tilted feature
2015-04-01 20:32:30 +02:00
Vadim Pisarevsky
3c51fdffac Merge pull request #3849 from Dikay900:fix_tilted_features_crash 2015-03-24 15:19:13 +00:00
Yan Wang
433c3da7cf Optimize the performance of cascade OpenCL kernel.
1. Use built-in mad() instead of += and *.
2. For stump stages, if weight.z == 0, avoid unnecessary calculation
because some features only have 2 rectangles..

It could improve
OCL_Cascade_Image_MinSize_CascadeClassifier.CascadeClassifier/*
about 10% mean values.

Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
2015-03-23 17:47:40 +08:00
Dikay900
fb8478eb7b add resetting the offset variable after setting a new image 2015-03-20 13:26:13 +01:00
Dikay900
80069f384a resolve crash of haarclassifier when using a tilted feature 2015-03-19 20:47:33 +01:00
Naer Chang
cdc9bc397d Revert "issue 3710"
Trying to fix whitespace issue.
This reverts commit dcc2512f58.
2015-03-14 18:32:46 -04:00
Naer Chang
dcc2512f58 issue 3710
added a check to prevent illegal access to operator[] when vector is empty
2015-03-14 02:56:29 -04:00
Maksim Shabunin
37c74e38f4 Python support 2015-03-02 18:13:00 +03:00
Maksim Shabunin
457123027e Modified java wrapping mechanism 2015-03-02 18:12:30 +03:00
Vladislav Vinogradov
cda6fed41f move tegra namespace out of cv to prevent conflicts 2015-02-27 12:52:11 +03:00
Vladislav Vinogradov
44e41baffe use new functions before all tegra:: calls 2015-02-26 19:34:58 +03:00
Vadim Pisarevsky
d1a15097fe Merge pull request #3664 from wangyan42164:ocl_cascasde_barrier 2015-02-16 15:42:26 +00:00
Vadim Pisarevsky
6c8681a472 Merge pull request #3656 from SeninAndrew:master 2015-02-06 11:49:27 +00:00
Vadim Pisarevsky
1e47c6cc56 Merge pull request #3612 from guoyejun:fix_face_detect 2015-02-05 07:50:13 +00:00
Yan Wang
99aaf4030a Remove unnecessary barrier in runHaarClassifier().
Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
2015-02-02 16:55:11 +08:00
Andrew Senin
52535b356c Fix for assert in compute when subimage is used (see issue #4149) 2015-01-29 21:39:07 +04:00
Yan Wang
df697f6520 Optimize runLBPClassifierStumpSimple by built-in mad24.
Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
2015-01-22 16:36:16 +08:00
Vadim Pisarevsky
b49fa7d384 Merge pull request #3625 from wangyan42164:ocl_cascade_deadlock 2015-01-21 10:43:50 +00:00
Yan Wang
f5b21e8141 Avoid deadlock becasue some work item couldn't reach barrier in loop
and unsynchronized.

Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
2015-01-20 13:45:33 +08:00
Vadim Pisarevsky
b6023eab9c Merge pull request #3594 from asmorkalov:opencv4tegra_support 2015-01-19 10:47:49 +00:00
Guo Yejun
595ec6b852 correct the size of buf which holds integral sum/sumsq
layer_dy is not initialized correctly, it results in a small height
of the buffer, and so memory write is out of range in cv::integral.
2015-01-16 10:51:39 +08:00
Yan Wang
07ab0c1c53 Avoid compile unnecessary OpenCL kernel.
Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
2015-01-14 19:52:41 +08:00
Vadim Pisarevsky
f566f6baa9 Merge pull request #3535 from wangyan42164:use_hypot 2015-01-13 11:22:21 +00:00
Alexander Smorkalov
1fa37fe733 OpenCV for Tegra compilation fix for
- Gaussian blur;
- CascadeClassifier;
- Blenders in stitching module;
- Laplacial pyromids in stitching module.
2015-01-12 23:43:26 +03:00
Yan Wang
9699fde8d2 Use hypot to do vector calculation.
Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
2014-12-30 14:12:28 +08:00
Maksim Shabunin
d01bedbc61 Removed Sphinx documentation files 2014-12-26 19:12:19 +03:00
Vadim Pisarevsky
d9f159a554 Merge pull request #3513 from mshabunin:compat-30 2014-12-22 11:58:01 +00:00
Maksim Shabunin
c485aee464 Included c-headers for better 2.4 compatibility 2014-12-19 17:05:26 +03:00
Yan Wang
efa84d8225 Use preprocessor for constant values in OpenCL kernel instead of
the parameter variable.

It could improve the performance of
OCL_Cascade_Image_MinSize_CascadeClassifier.CascadeClassifier/*.
Especially,
OCL_Cascade_Image_MinSize_CascadeClassifier.CascadeClassifier/15
OCL_Cascade_Image_MinSize_CascadeClassifier.CascadeClassifier/16
could be improved about 2% in Intel platform.

Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
2014-12-16 16:21:05 +08:00
Maksim Shabunin
03e213ccae Doxygen documentation: BiB references and fixes 2014-12-01 15:50:55 +03:00
Maksim Shabunin
1523fdcc1c Doxygen documentation: more fixes and cleanups 2014-12-01 15:50:36 +03:00
Maksim Shabunin
8e9ea0e3d1 Doxygen doucmentation: ml module 2014-12-01 15:47:13 +03:00
Ari Suwendi
b14f7c99d2 bug fix for a crash when input image is small 2014-11-29 01:57:15 -08:00
Maksim Shabunin
ef3d02214b Fixing iOS clang warnings, part 2 2014-10-17 18:14:54 +04:00
Pavel Vlasov
45958eaabc Implementation detector and selector for IPP and OpenCL;
IPP can be switched on and off on runtime;

Optional implementation collector was added (switched off by default in CMake). Gathers data of implementation used in functions and report this info through performance TS;

TS modifications for implementations control;
2014-10-15 14:24:41 +04:00
Adil Ibragimov
8a4a1bb018 Several type of formal refactoring:
1. someMatrix.data -> someMatrix.prt()
2. someMatrix.data + someMatrix.step * lineIndex -> someMatrix.ptr( lineIndex )
3. (SomeType*) someMatrix.data -> someMatrix.ptr<SomeType>()
4. someMatrix.data -> !someMatrix.empty() ( or !someMatrix.data -> someMatrix.empty() ) in logical expressions
2014-08-13 15:21:35 +04:00
Alexander Alekhin
55188fe991 world fix 2014-08-05 20:12:35 +04:00
Vadim Pisarevsky
2fd01dcced fixed doc builder warnings 2014-07-28 17:18:28 +04:00
Vadim Pisarevsky
1ad9827fc4 removed ERFilter (to be moved to opencv_contrib/modules/text) and lineMOD (to be moved to opencv_contrib/modules/rgbd) 2014-07-28 16:48:53 +04:00
vbystricky
4286f60387 Extract imgcodecs module from highgui 2014-07-07 16:28:08 +04:00
Vadim Pisarevsky
c3329ff79d Merge pull request #2856 from sanchom:master 2014-07-02 14:22:56 +00:00
Vadim Pisarevsky
c4fdf71bb3 fixed some more compile warnings on Windows 2014-06-25 20:22:56 +04:00
Vadim Pisarevsky
8f2aaff6d7 fixed compile warnings on Windows 2014-06-25 16:17:52 +04:00
Vadim Pisarevsky
66f2e527b6 removed extra whitespaces 2014-06-24 23:05:24 +04:00
Vadim Pisarevsky
07c0d50edf put the detection-based tracker back (to objdetect module), so that the Android face detection sample builds fine. The patch by Konstantin Matskevich that adds C++11 threads support has been merged in too. Also, fixed compile error in the doc builder. 2014-06-24 21:16:09 +04:00
Vadim Pisarevsky
3858f2291d removed contrib, legacy and softcsscade modules; removed latentsvm and datamatrix detector from objdetect. removed haartraining and sft apps.
some of the stuff will be moved to opencv_contrib module.
in order to make this PR pass buildbot, please, comment off opencv_legacy, opencv_contrib and opencv_softcascade test runs.
2014-06-24 19:18:51 +04:00
Sancho McCann
e1e243588e Bugfix: Memory leak in deletion of er_stack nodes of ERFilter. 2014-06-12 11:02:06 -07:00
Roman Donchenko
67e9708621 Merge pull request #2773 from abidrahmank:pycascade 2014-05-29 14:51:45 +04:00
abidrahmank
31291ced11 Issue #2540 : Python bindings for various "detectMultiScale()" 2014-05-21 08:26:16 +05:30
GregoryMorse
b1443bc1bc WinRT core compatibility fixes
Update system.cpp

Update system.cpp

Update ocl.cpp

Update matching.cpp

Update ocl.cpp

Update matching.cpp
2014-05-07 06:15:54 +08:00
Alexander Karsakov
b046210296 Changed epsilon for hog test, because hog detector is sensible to resize accuracy. 2014-04-28 11:37:46 +04:00
Maks Naumov
dba0f9fc8f remove unused variable in erGrouping() 2014-04-17 00:16:07 +03:00
Roman Donchenko
799d2dabd6 Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	modules/core/test/test_arithm.cpp
	modules/cuda/src/cascadeclassifier.cpp
	modules/imgproc/doc/geometric_transformations.rst
	modules/objdetect/src/hog.cpp
	modules/ocl/perf/perf_imgproc.cpp
	modules/ocl/src/gftt.cpp
	modules/ocl/src/moments.cpp
2014-04-14 16:08:02 +04:00
Maks Naumov
9b52b61451 remove unused variable in HOGDescriptor::groupRectangles() 2014-04-09 22:56:19 +03:00
Ilya Lavrenov
aa5326c231 cv::norm -> cvtest::norm in tests
Conflicts:

	modules/core/src/stat.cpp
2014-04-08 14:49:20 +04:00
vbystricky
1b3651d8ee Undo changes ipp to ippicv prefix of function names 2014-04-07 14:30:03 +04:00
vbystricky
3b03044047 Fix warning 2014-04-07 14:26:44 +04:00
vbystricky
01a66a2938 Prepare codes for ippicv library 2014-04-07 14:24:05 +04:00
Andrey Pavlenko
ef9669ba1a Merge pull request #2506 from apavlenko:lbp_ocl_use_any_device 2014-03-21 18:24:36 +04:00
Andrey Pavlenko
d18ebfa8e8 Merge pull request #2500 from akarsakov:hog_intel_fix 2014-03-21 16:02:49 +04:00
Andrey Pavlenko
b7198ccf1c dropping legacy modes testing 2014-03-20 22:30:16 +04:00
Andrey Pavlenko
d060d30fa0 enabling OCL LBP branch for all devices 2014-03-20 21:57:34 +04:00
Alexander Karsakov
b14c314fc3 Fixed incorrect thread synchronizations 2014-03-20 13:03:03 +04:00
Alexander Karsakov
30a8308f8e Enabled Intel-specific optimizations for HOG detector. 2014-03-19 17:30:13 +04:00
Alexander Karsakov
4698d62125 Removed workaround for Intel platform. 2014-03-14 14:18:52 +04:00
Alexander Karsakov
c1dad2178c Added Device:: isAMD,isIntel,isNvidia methods. 2014-03-05 14:43:11 +04:00
Ilya Lavrenov
ce0557ebb8 fixed defects from Xcode 2014-02-25 17:33:12 +04:00
Andrey Pavlenko
0ee5c34f40 Merge pull request #2324 from vpisarev:fix_facedetect 2014-02-13 11:46:24 +04:00
Vadim Pisarevsky
91587059ad tab => spaces 2014-02-12 20:28:55 +04:00
Vadim Pisarevsky
a18bc9651d fixed bug reported by Irina K. Also tried to fix LBP detector regression in quality (probably it did not help but still ...) 2014-02-12 17:42:09 +04:00
Roman Donchenko
863e9c699a Merge pull request #2322 from berak:b_cc_read 2014-02-12 16:32:29 +04:00
berak
3959329ef4 proper initialization for ccimpl in bool CascadeClassifier::read(const FileNode 2014-02-08 14:42:09 +01:00
Andrey Pavlenko
38f46eb3b4 fixing issues from coverity scan 1167937, 1167938, 1167939, 1127248 (http://scan.coverity.com/projects/169?tab=Overview) 2014-02-06 21:33:44 +04:00
Konstantin Matskevich
84fa60abb8 update test for cascade 2014-02-05 12:06:48 +04:00
Andrey Pavlenko
22146e4b18 Merge pull request #2234 from KonstantinMatskevich:ocl_tapi_hog 2014-02-04 16:35:12 +04:00
Konstantin Matskevich
3495c5953c fixes 2014-02-03 16:38:06 +04:00
Vadim Pisarevsky
de4b1c668d hopefully fixed compile warnings and the doc builder warnings 2014-02-03 16:36:36 +04:00
Vadim Pisarevsky
30593ee55e 3rd attempt to prepare patch with improved OpenCL kernels of CascadeClassifier. 2014-02-03 15:12:27 +04:00
Konstantin Matskevich
5c38519c65 some changes 2014-02-03 14:46:53 +04:00
Konstantin Matskevich
3ea32b87bb perf test 2014-02-03 14:46:52 +04:00
Konstantin Matskevich
9a62df1650 HOG 2014-02-03 14:46:52 +04:00
Ilya Lavrenov
37789f015a deleted excess semicolons, commas 2014-01-18 01:31:33 +04:00
Roman Donchenko
b0af6a2b58 Merge pull request #2127 from apavlenko:perf_cascades 2014-01-16 12:37:02 +04:00
Andrey Pavlenko
c7d90c8b32 adding old cascade 2014-01-14 23:15:50 +04:00
Andrey Pavlenko
9b7b360bf7 fixing compilation if WITH_OPENCL=OFF 2014-01-14 17:50:00 +04:00
Andrey Pavlenko
520a692fda switching to CL_PERF_TEST_P, adding safeFinish() to flush CL queue 2014-01-13 16:58:36 +04:00
Andrey Pavlenko
2c0e24e948 adding Haar & LBP cascades perf test using UMat, removing old incomplete test 2014-01-10 00:08:15 +04:00
Patrick Tsai
b24f7ee57c Fix compiler error with Android NDK r8e
Original error without the fix:

opencv/modules/objdetect/src/cascadedetect.cpp: In member function 'bool cv::CascadeClassifierImpl::ocl_detectSingleScale(const cv::_InputArray&, cv::Size, int, double, cv::Size)':
/opencv/modules/objdetect/src/cascadedetect.cpp:1215:
error: no matching function for call to 'cv::ocl::Kernel::args(cv::ocl::KernelArg, cv::ocl::KernelArg, cv::ocl::KernelArg, int, cv::ocl::KernelArg, cv::ocl::KernelArg, cv::ocl::KernelArg, cv::Size&, int&, float, cv::Rect&, cv::Size&, cv::CascadeClassifierImpl::<anonymous enum>)'
2014-01-09 14:49:20 +08:00
Roman Donchenko
9dfb96389c Merge commit '4b885e206' into merge-2.4 2013-12-30 16:48:45 +04:00
Alexander Karsakov
6ef0253fb7 Disabled some IPP implementation since it breaks tests 2013-12-26 19:53:53 +04:00
Vadim Pisarevsky
bc730292bb workaround for some strange bug on old Mac. 2013-12-23 21:29:31 +04:00
Vadim Pisarevsky
8998186ce4 removed extra whitespaces and hopefully fixed the test failures 2013-12-23 18:41:54 +04:00
Vadim Pisarevsky
d084d19779 added OpenCL optimization for LBP-based face detector 2013-12-23 15:28:50 +04:00
Vadim Pisarevsky
1540910542 started adding OpenCL acceleration of LBP-based object detectors 2013-12-20 18:39:35 +04:00
Vadim Pisarevsky
242a3d1f19 2 more fixes to calm down the doc builder 2013-12-19 16:57:02 +04:00
Vadim Pisarevsky
f41f633d2d fixed various warnings from the “doc” and other builders 2013-12-19 16:31:30 +04:00
Vadim Pisarevsky
a1784b7320 converted old haar cascades to the new format; added the conversion function; added OpenCL optimization into CascadeClassfier; optimized the data structures and CPU code for the stump case. 2013-12-19 14:48:42 +04:00
Vadim Pisarevsky
ec3f22cee2 renamed OpenCL kernel filename; made some final changes 2013-12-19 14:29:28 +04:00
Vadim Pisarevsky
b7553d4e2e some attempts to tune the performance 2013-12-19 14:09:44 +04:00
Vadim Pisarevsky
02fb3f0a77 it finally works!!! 2013-12-17 20:55:49 +04:00
Vadim Pisarevsky
ef509ace43 trying to debug the new cascade 2013-12-17 14:51:22 +04:00
Vadim Pisarevsky
9d3e7e027a almost finished opencl-ization of cascade classifier 2013-12-17 14:29:30 +04:00
Vadim Pisarevsky
d8513d627d continue adding OpenCL optimization to cascade classifier 2013-12-12 21:58:42 +04:00
Vadim Pisarevsky
302a5adcc2 converted Haar cascades to the new format; now they are handled with C++ code. 2013-12-10 22:54:37 +04:00
Vadim Pisarevsky
fdf1996e2e added old=>new cascade conversion function 2013-12-07 01:51:35 +04:00
Vadim Pisarevsky
828b0b151b another attempt to fix compile errors 2013-12-04 22:22:36 +04:00
Vadim Pisarevsky
fe11ca886a trying to eliminate compile problems 2013-12-04 21:56:35 +04:00
Vadim Pisarevsky
ff87385201 refactored CascadeClassifier to hide implementation details (take 2) 2013-12-04 19:00:39 +04:00
Roman Donchenko
d58cd9851f Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	CMakeLists.txt
	cmake/OpenCVDetectCUDA.cmake
	doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.rst
	modules/core/src/cmdparser.cpp
	modules/gpu/CMakeLists.txt
	modules/gpu/doc/introduction.rst
	modules/gpu/perf/perf_video.cpp
	modules/highgui/doc/reading_and_writing_images_and_video.rst
	modules/ocl/src/cl_context.cpp
	modules/video/include/opencv2/video/background_segm.hpp
	samples/cpp/image_sequence.cpp
	samples/cpp/tutorial_code/ImgTrans/HoughCircle_Demo.cpp
	samples/python/chessboard.py
	samples/python/cvutils.py
	samples/python/demhist.py
	samples/python/dft.py
	samples/python/distrans.py
	samples/python/edge.py
	samples/python/ffilldemo.py
	samples/python/fitellipse.py
	samples/python/houghlines.py
	samples/python/inpaint.py
	samples/python/logpolar.py
	samples/python/morphology.py
	samples/python/numpy_array.py
	samples/python/watershed.py
2013-12-03 17:35:21 +04:00
Roman Donchenko
10aec14a4d Merge pull request #1849 from StevenPuttemans:feature_3375_documentation 2013-11-27 13:22:31 +04:00
Roman Donchenko
9c2272d520 Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	.gitignore
	CMakeLists.txt
	doc/CMakeLists.txt
	modules/calib3d/src/stereosgbm.cpp
	modules/core/include/opencv2/core/mat.hpp
	modules/highgui/src/cap_openni.cpp
	modules/ml/include/opencv2/ml/ml.hpp
	modules/objdetect/src/hog.cpp
	modules/ocl/perf/perf_color.cpp
	modules/ocl/src/arithm.cpp
	modules/ocl/src/filtering.cpp
	modules/ocl/src/imgproc.cpp
	modules/ocl/src/optical_flow_farneback.cpp
	platforms/scripts/camera_build.conf
	platforms/scripts/cmake_android_all_cameras.py
	samples/cpp/Qt_sample/main.cpp
	samples/cpp/tutorial_code/introduction/windows_visual_studio_Opencv/Test.cpp
2013-11-26 15:05:26 +04:00
StevenPuttemans
6f892b10ff Applied feature #3375 and fix of pull 1842 to avoid merging problems later 2013-11-25 10:53:03 +01:00
Piotr Miecielica
a19cc6cb64 Added pointer initialization 2013-11-22 13:33:33 +01:00
Piotr Miecielica
923698d700 Fixes of some memory leaks 2013-11-21 18:55:09 +01:00
Vadim Pisarevsky
e2bbe7597b fixed few compile errors and doc build errors 2013-11-18 13:48:04 -05:00
Vadim Pisarevsky
8762ee3f6f removed unnecessary opencl kernels 2013-11-18 12:02:10 -05:00
Vadim Pisarevsky
d914f20a4c updated patch to bring in the first functions with "transparent API" 2013-11-18 11:48:00 -05:00
Anatoly Baksheev
e154bce259 fixed compilation for vs2008 2013-11-17 14:13:13 +04:00
Roman Donchenko
334292083e Merge pull request #1629 from lluisgomez:er_tree_clean_bug_fix 2013-10-29 16:03:51 +04:00
lluis
b50185e160 Fix a bug in the er tree clean-up process (see discussion in https://github.com/Itseez/opencv/pull/1520). It's not necessary to walk the er tree in order to clean up the memory since it's possible to cleanup the regions in the stack just by iterating over the er_stack vector instead of walking the tree structure. This turns out to be safer because the tree structure of those regions may have been modified previously in er_save function. 2013-10-15 19:44:08 +02:00
Ilya Lavrenov
35d9ce0c0c fixed warnings 2013-10-08 12:46:43 +04:00
lluis
047b568f6d erGrouping now uses a classifier for group validation instead of a set of heuristical ifos.
Updated documentation and sample to use the new function API
2013-09-27 19:19:45 +02:00
Alexander Smorkalov
0d49206a98 Merge pull request #1485 from vpisarev:ipp_fixes 2013-09-26 11:09:59 +04:00
lluis
5670e4f6cd fixed typos 2013-09-23 10:17:47 +02:00
lluis
5556f051f1 added rst documentation for the Class-specific Extremal Regions for Scene Text Detection 2013-09-20 21:39:11 +02:00
Vadim Pisarevsky
8e7eb79f6e fixed compile errors and warnings when building master branch with IPP enabled 2013-09-20 16:02:15 +04:00
lluis
2837bfd9fa Added erGrouping function: Find groups of Extremal Regions that are organized as text blocks. Updated sample/cpp to use the complete text detection pipeline 2013-09-19 10:30:25 +02:00
lluis
d25309f82e first parameter of createERFilterNM1/createERFilterNM2 is now mandatory. changed the sample program to use the new prototypes 2013-09-13 16:29:21 +02:00
lluis
75fdfba281 renamed getDefaultClassifierNM{1,2}() to loadClassifierNM{1,2}() and added "const std::string& filename" parameter (mandatory). 2013-09-13 16:19:52 +02:00
lluis
95d92c099c functions getDefaultClassifierNM1() and getDefaultClassifierNM2() allow to implicitly load the default classifiers when creating a ERFilter object 2013-09-13 12:54:23 +02:00
lluis
ad94628038 Using cv::magnitude instead of custom loop and Mat<float> instead of Mat<double> to compute gradient magnitude channel. 2013-09-09 18:37:55 +02:00