Commit Graph

585 Commits

Author SHA1 Message Date
Rostislav Vasilikhin
328151c8a4 don't run OpenVX pyrLK if user asked for err vector 2016-12-16 23:38:47 +03:00
Rostislav Vasilikhin
5372c8b331 Merge pull request #7774 from savuor:openvx_pyrlk
OpenVX optical flow PyrLK wrappers added (#7774)

* wrappers for vx_pyramid added

* initial version of Optical Flow PyrLK wrappers added

* array downloading code simplified

* disabled due to bad accuracy; fixed bugs, e.g. vendor-specific ones

* rewritten for new macro use
2016-12-16 12:46:03 +02:00
Kotrix
10ccd0328c Removed redundant calculations
Operations inside for loops are unnecessary. They are repeated anyway just below for loops
2016-12-04 20:28:56 +01:00
Alexander Alekhin
45bf60d18c perf: remove tvl1 check for magic numbers, reduce number of samples 2016-11-10 15:41:44 +03:00
Alexander Alekhin
a01a4c4b3b test: tvl1 test check update 2016-11-10 15:39:18 +03:00
mshabunin
3e28d51779 Fixed several OpenCL compiler warnings 2016-11-07 16:49:12 +03:00
Jiri Horner
c17afe0fab Merge pull request #6933 from hrnr:gsoc_all
[GSOC] New camera model for stitching pipeline

* implement estimateAffine2D

estimates affine transformation using robust RANSAC method.

* uses RANSAC framework in calib3d
* includes accuracy test
* uses SVD decomposition for solving 3 point equation

* implement estimateAffinePartial2D

estimates limited affine transformation

* includes accuracy test

* stitching: add affine matcher

initial version of matcher that estimates affine transformation

* stitching: added affine transform estimator

initial version of estimator that simply chain transformations in homogeneous coordinates

* calib3d: rename estimateAffine3D test

test Calib3d_EstimateAffineTransform rename to Calib3d_EstimateAffine3D. This is more descriptive and prevents confusion with estimateAffine2D tests.

* added perf test for estimateAffine functions

tests both estimateAffine2D and estimateAffinePartial2D

* calib3d: compare error in square in estimateAffine2D

* incorporates fix from #6768

* rerun affine estimation on inliers

* stitching: new API for parallel feature finding

due to ABI breakage new functionality is added to `FeaturesFinder2`, `SurfFeaturesFinder2` and `OrbFeaturesFinder2`

* stitching: add tests for parallel feature find API

* perf test (about linear speed up)
* accuracy test compares results with serial version

* stitching: use dynamic_cast to overcome ABI issues

adding parallel API to FeaturesFinder breaks ABI. This commit uses dynamic_cast and hardcodes thread-safe finders to avoid breaking ABI.

This should be replaced by proper method similar to FeaturesMatcher on next ABI break.

* use estimateAffinePartial2D in AffineBestOf2NearestMatcher

* add constructor to AffineBestOf2NearestMatcher

* allows to choose between full affine transform and partial affine transform. Other params are the as for BestOf2NearestMatcher
* added protected field

* samples: stitching_detailed support affine estimator and matcher

* added new flags to choose matcher and estimator

* stitching: rework affine matcher

represent transformation in homogeneous coordinates

affine matcher: remove duplicite code
rework flow to get rid of duplicite code

affine matcher: do not center points to (0, 0)
it is not needed for affine model. it should not affect estimation in any way.

affine matcher: remove unneeded cv namespacing

* stitching: add stub bundle adjuster

* adds stub bundle adjuster that does nothing
* can be used in place of standard bundle adjusters to omit bundle adjusting step

* samples: stitching detailed, support no budle adjust

* uses new NoBundleAdjuster

* added affine warper

* uses R to get whole affine transformation and propagates rotation and translation to plane warper

* add affine warper factory class

* affine warper: compensate transformation

* samples: stitching_detailed add support for affine warper

* add Stitcher::create method

this method follows similar constructor methods and returns smart pointer. This allows constructing Stitcher according to OpenCV guidelines.

* supports multiple stitcher configurations (PANORAMA and SCANS) for convenient setup
* returns cv::Ptr

* stitcher: dynamicaly determine correct estimator

we need to use affine estimator for affine matcher

* preserves ABI (but add hints for ABI 4)
* uses dynamic_cast hack to inject correct estimator

* sample stitching: add support for multiple modes

shows how to use different configurations of stitcher easily (panorama stitching and scans affine model)

* stitcher: find features in parallel

use new FeatureFinder API to find features in parallel. Parallelized using TBB.

* stitching: disable parallel feature finding for OCL

it does not bring much speedup to run features finder in parallel when OpenCL is enabled, because finder needs to wait for OCL device.

Also, currently ORB is not thread-safe when OCL is enabled.

* stitching: move matcher tests

move matchers tests perf_stich.cpp -> perf_matchers.cpp

* stitching: add affine stiching integration test

test basic affine stitching (SCANS mode of stitcher) with images that have only translation between them

* enable surf for stitching tests

stitching.b12 test was failing with surf

investigated the issue, surf is producing good result. Transformation is only slightly different from ORB, so that resulting pano does not exactly match ORB's result. That caused sanity check to fail.

* added size checks similar to other tests
* sanity check will be applied only for ORB

* stitching: fix wrong estimator choice

if case was exactly wrong, estimators were chosen wrong

added logging for estimated transformation

* enable surf for matchers stitching tests

* enable SURF
* rework sanity checking. Check estimated transform instead of matches. Est. transform should be more stable and comparable between SURF and ORB.
* remove regression checking for VectorFeatures tests. It has a lot if data andtest is the same as previous except it test different vector size for performance, so sanity checking does not add any value here. Added basic sanity asserts instead.

* stitching tests: allow relative error for transform

* allows .01 relative error for estimated homography sanity check in stitching matchers tests
* fix VS warning

stitching tests: increase relative error

increase relative error to make it pass on all platforms (results are still good).

stitching test: allow bigger relative error

transformation can differ in small values (with small absolute difference, but large relative difference). transformation output still looks usable for all platforms. This difference affects only mac and windows, linux passes fine with small difference.

* stitching: add tests for affine matcher

uses s1, s2 images. added also new sanity data.

* stitching tests: use different data for matchers tests

this data should yeild more stable transformation (it has much more matches, especially for surf). Sanity data regenerated.

* stitching test: rework tests for matchers

* separated rotation and translations as they are different by scale.
* use appropriate absolute error for them separately. (relative error does not work for values near zero.)

* stitching: fix affine warper compensation

calculation of rotation and translation extracted for plane warper was wrong

* stitching test: enable surf for opencl integration tests

* enable SURF with correct guard (HAVE_OPENCV_XFEATURES2D)
* add OPENCL guard and correct namespace as usual for opencl tests

* stitching: add ocl accuracy test for affine warper

test consistent results with ocl on and off

* stitching: add affine warper ocl perf test

add affine warper to existing warper perf tests. Added new sanity data.

* stitching: do not overwrite inliers in affine matcher

* estimation is run second time on inliers only, inliers produces in second run will not be therefore correct for all matches

* calib3d: add Levenberg–Marquardt refining to estimateAffine2D* functions

this adds affine Levenberg–Marquardt refining to estimateAffine2D functions similar to what is done in findHomography.

implements Levenberg–Marquardt refinig for both full affine and partial affine transformations.

* stitching: remove reestimation step in affine matcher

reestimation step is not needed. estimateAffine2D* functions are running their own reestimation on inliers using the Levenberg-Marquardt algorithm, which is better than simply rerunning RANSAC on inliers.

* implement partial affine bundle adjuster

bundle adjuster that expect affine transform with 4DOF. Refines parameters for all cameras together.

stitching: fix bug in BundleAdjusterAffinePartial

* use the invers properly
* use static buffer for invers to speed it up

* samples: add affine bundle adjuster option to stitching_detailed

* add support for using affine bundle adjuster with 4DOF
* improve logging of initial intristics

* sttiching: add affine bundle adjuster test

* fix build warnings

* stitching: increase limit on sanity check

prevents spurious test failures on mac. values are still pretty fine.

* stitching: set affine bundle adjuster for SCANS mode

* fix bug with AffineBestOf2NearestMatcher (we want to select affine partial mode)
* select right bundle adjuster

* stitching: increase error bound for matcher tests

* this prevents failure on mac. tranformation is still ok.

* stitching: implement affine bundle adjuster

* implements affine bundle adjuster that is using full affine transform
* existing test case modified to test both affinePartial an full affine bundle adjuster

* add stitching tutorial

* show basic usage of stitching api (Stitcher class)

* stitching: add more integration test for affine stitching

* added new datasets to existing testcase
* removed unused include

* calib3d: move `haveCollinearPoints` to common header

* added comment to make that this also checks too close points

* calib3d: redone checkSubset for estimateAffine* callback

* use common function to check collinearity
* this also ensures that point will not be too close to each other

* calib3d: change estimateAffine* functions API

* more similar to `findHomography`, `findFundamentalMat`, `findEssentialMat` and similar
* follows standard recommended semantic INPUTS, OUTPUTS, FLAGS
* allows to disable refining
* supported LMEDS robust method (tests yet to come) along with RANSAC
* extended docs with some tips

* calib3d: rewrite estimateAffine2D test

* rewrite in googletest style
* parametrize to test both robust methods (RANSAC and LMEDS)
* get rid of boilerplate

* calib3d: rework estimateAffinePartial2D test

* rework in googletest style
* add testing for LMEDS

* calib3d: rework estimateAffine*2D perf test

* test for LMEDS speed
* test with/without Levenberg-Marquart
* remove sanity checking (this is covered by accuracy tests)

* calib3d: improve estimateAffine*2D tests

* test transformations in loop
* improves test by testing more potential transformations

* calib3d: rewrite kernels for estimateAffine*2D functions

* use analytical solution instead of SVD
* this version is faster especially for smaller amount of points

* calib3d: tune up perf of estimateAffine*2D functions

* avoid copying inliers
* avoid converting input points if not necessary
* check only `from` point for collinearity, as `to` does not affect stability of transform

* tutorials: add commands examples to stitching tutorials

* add some examples how to run stitcher sample code
* mention stitching_detailed.cpp

* calib3d: change computeError for estimateAffine*2D

* do error computing in floats instead of doubles

this have required precision + we were storing the result in float anyway. This make code faster and allows auto-vectorization by smart compilers.

* documentation: mention estimateAffine*2D function

* refer to new functions on appropriate places
* prefer estimateAffine*2D over estimateRigidTransform

* stitching: add camera models documentations

* mention camera models in module documentation to give user a better overview and reduce confusion
2016-10-22 19:10:42 +03:00
Maksim Shabunin
157a90ac46 Merge pull request #7513 from abratchik:fix.wrappers.for.video.tracking 2016-10-18 12:09:14 +00:00
abratchik
c72fbd7a14 fix for #7501 2016-10-18 09:38:57 +04:00
Alexander Alekhin
5dfb810327 video: fix optflow test: NAN results shouldn't bypass checks 2016-10-17 20:06:45 +03:00
Alexander Alekhin
8213e57f3b Merge pull request #7494 from tomoaki0705:fixVideoLKPyramidARM 2016-10-17 17:06:26 +00:00
Tomoaki Teshima
ea4ff91861 fix error from performance test of LK pyramid 2016-10-16 17:21:37 +09:00
Vadim Pisarevsky
4acda3f609 Merge pull request #7428 from alalek:cmake_fix_compiler_flags_detection 2016-10-12 19:38:25 +00:00
Tomoaki Teshima
1ef740fa2c use universal intrinsic implementation for calcSharrDeriv 2016-10-11 20:32:33 +09:00
Alexander Alekhin
5da8d65371 eliminate compiler warnings 2016-10-08 02:19:43 +03: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
Vadim Pisarevsky
0330322dbd Merge pull request #6820 from grochefort:fix_backgroundsubstractormog2_master 2016-09-22 11:56:23 +00:00
Sean McBride
5357e28a2f Removed some extra semi-colons
Fixes clang -Wextra-semi warnings.
2016-09-14 16:22:35 -04:00
Pavel Rojtberg
27ae1578ac BackgroundSubtractorMOG2Impl: only use OpenCL if input image is UMat 2016-09-07 15:53:35 +02:00
Pavel Vlasov
30a6cee2fe Instrumentation for OpenCV API regions and IPP functions; 2016-08-19 18:10:03 +03:00
Vadim Pisarevsky
66e94467dc Merge pull request #7087 from terfendail/master
Fix for incorrect calcOpticalFlowPyrLK result evaluation with ARM NEON
2016-08-18 17:12:38 +04:00
Vitaly Tuzov
d8dc6caf09 Fix for incorrect calcOpticalFlowPyrLK result evaluation with ARM NEON 2016-08-12 10:14:54 +03:00
k-shinotsuka
042b0a584d improve LKTrackerInvoker::operator() 2016-08-09 18:59:29 +09:00
Vadim Pisarevsky
d62b0bd363 Merge pull request #6849 from alcinos:optflow_interface 2016-07-18 15:05:13 +00:00
Tomoaki Teshima
3c2f7ecc97 speed up accumulate, accumulateSquare, accumulateProduct and accumulateWeighted using SIMD
* use SSE and/or AVX based on configuration
  * revise the test to verify the implementation
2016-07-15 08:09:24 +09:00
Philipp Hasper
45bd56e28a rigidTransform: only four DoF
combinations of translation, rotation, and uniform scaling equals four degrees of freedom
2016-06-15 16:41:39 +02:00
Gilles Rochefort
9e53f03968 Fixed BackgroundSubstractorMOG2 in opencv_video.
The number of gaussians involved in a mixture is supposed
to be dynamically adjusted. After being increased, the number
of gaussians can't be reduced anymore.

It seems to be a regression as the legacy code
located in modules/legacy/src/bgfg_gaussmix.cpp allows to reduce
such number of gaussians.
2016-05-29 17:46:33 +02:00
mvukad
695e33b25b Fix missing format when writing Algorithm-based objects
Added a writeFormat() method to Algorithm which must be called by the
write() method of derived classes.
2016-04-07 13:49:42 -07:00
Alexander Alekhin
cc3433f349 Merge pull request #6045 from matthieu-ft:master 2016-03-14 11:25:23 +00:00
Matthieu FT
78475a47a5 fix: bg substraction for float images with OpenCL 2016-03-07 16:23:05 +01:00
Krishnaraj Bhat
9b8013d193 gcc6: fix misleading indentation warning
cosmetic changes to fix this warning.
real bugs not found
2016-03-07 17:06:16 +05:30
alcinos
e22b838af8 Wrap SparseOptFlow class around PyrLK optical flow computation 2016-01-29 01:47:51 +01:00
alcinos
9b70c44f00 Adding interface for Sparse flow computation 2016-01-28 20:03:28 +01:00
alcinos
6e3b90de9b Add static creator for TVL1 optical flow class 2016-01-28 20:03:28 +01:00
alcinos
be4312ec3d Wrap DenseOptFlow class around Farneback optical flow computation 2016-01-28 20:03:27 +01:00
Alexander Alekhin
323e24e3ef change links from samples/python2 to samples/python 2015-12-18 11:00:30 +03:00
Maksim Shabunin
832a03821d Valgrind: do not use uninitialized data in optflow 2015-12-09 14:25:08 +03: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
Alexander Alekhin
7213e5f68a ocl: correct disabling of OpenCL code 2015-09-13 20:28:23 +03:00
Alexander Alekhin
ad70ab404c ocl: workaround for getUMat() 2015-09-09 18:56:14 +03:00
StevenPuttemans
dd8589c352 change as suggested by original programmer and user of ecc software 2015-08-06 14:59:15 +02:00
Yan Wang
a00eb1e9f5 Move coefficient (32.0f) to the end of every iteration.
It could reduce 7 multiplications every iteration.

Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
2015-07-22 11:25:18 +08:00
Yan Wang
2c1650ad33 Optimize pyrlk.
1. Remove uncessary index calculation.
2. Use mad/mad24 as possible.

Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
2015-07-20 13:46:01 +08:00
Evgeny Agafonchikov
6a6d58d389 Adding test support for WINRT 2015-06-30 15:35:20 +03:00
Vadim Pisarevsky
a4073ed676 made improvements in ECC code (comments from https://github.com/Itseez/opencv/pull/3845), as well as minor tweak in pthread's based parallel for. 2015-06-02 01:30:00 +03:00
Vadim Pisarevsky
78e07d3210 Merge pull request #3845 from ellbur:findTransformECC-mask 2015-06-01 20:35:29 +00:00
Martin Ueding
1e00a93f97 Fix spelling 2015-05-13 08:16:39 +02:00
Vadim Pisarevsky
daa99514fa Merge pull request #3846 from mshabunin:fix-headers 2015-03-23 08:01:25 +00:00
Owen Healy
86fb9f8409 Modify findTransformECC to support a mask of pixels to consider
Tests of the mask are also included.

This is useful for registering a non-square image against a non-square
template.

This also needs to relax a sanity check as per
https://github.com/Itseez/opencv/pull/3851
2015-03-19 22:16:32 -04:00
Owen Healy
ff48387a8a Fix bug of uninitialized matrix in findTransformECC
The matrix templateZM needs to be initialized because otherwise
uninitialized values leak into the correlation in:

    const double correlation = templateZM.dot(imageWarped)

In the worst case this will lead the correlation to be NaN ruining the
whole routine. The subtraction does not initialize templateZM due to the
mask.

Unfortunately, the uninitialized values (by altering the correlation)
have the side effect of dragging out the computation a little longer
giving a slightly better error bound. This means that fixing this bug
breaks perf_ecc where

    SANITY_CHECK(warpMat, 1e-3);

is just a little too tight and happens to work due to the uninitialized
values. Since this is a performance not a accuracy test I think it is OK
to just relax the error bound a little bit (the tight error bound being
after all the result of a bug).
2015-03-19 20:50:49 -04:00
Maksim Shabunin
7335a40a61 Replaced CV_PURE_PROPERTY macros with corresponding code 2015-03-18 17:23:42 +03:00
Maksim Shabunin
ee2d7a1f39 Fixed warnings for iOS 2015-03-06 16:16:57 +03:00
Jonathan Viney
4f24dc0959 Fix KNN background subtraction not honoring width step. 2015-03-05 12:46:07 +13: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
Maksim Shabunin
79e8f0680c Updated ml module interfaces and documentation 2015-02-17 11:46:14 +03:00
Maksim Shabunin
da383e65e2 Remove deprecated methods from cv::Algorithm 2015-02-16 15:28:54 +03:00
Maksim Shabunin
d01bedbc61 Removed Sphinx documentation files 2014-12-26 19:12:19 +03:00
Maksim Shabunin
c485aee464 Included c-headers for better 2.4 compatibility 2014-12-19 17:05:26 +03: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
dcae7698ad Doxygen documentation for: highgui, video, imgcodecs and videoio 2014-12-01 15:47:13 +03:00
Daniel Angelov
303868b3c4 Fixed variable name consistency
The function parameters were different from the ones described below.

P.S. Why is ``flow`` InputOutputArray, shouldn't it be just OutputArray? If so, shouldn't the reason be specified - e.g. so others can benefit as well (e.g. not allocating memory on every frame?)
2014-11-14 22:49:22 +00:00
Maksim Shabunin
ba5f343c38 Basic doxygen documentation support
- updated existing Doxyfile.in
- added corresponding cmake instructions
- added some specific files (layout, icon)
- clean existing doxygen warnings
2014-10-22 15:24:15 +04:00
Vadim Pisarevsky
e40567eaee Merge pull request #3352 from alucarded:BackgroundSubtractorMOG2_optimization 2014-10-22 01:55:23 +00:00
Tomasz Posłuszny
8dd213c829 BackgroundSubtractorMOG2, learningRate=0 optimization 2014-10-20 19:45:31 +02:00
Vadim Pisarevsky
d2b9dc5530 quickly corrected the previous refactoring of features2d: moved from set(SOME_PROP, val) to setSomeProp(val) 2014-10-18 20:44:26 +04:00
Alexander Alekhin
af1d29db83 Merge pull request #3332 from lupustr3:pvlasov/implementation_detector 2014-10-16 14:51:53 +00:00
Vadim Pisarevsky
b30ad42609 Merge pull request #3270 from boaz001:patch-1 2014-10-16 10:09:28 +00:00
Boaz Stolk
ae81006eab Applied proposed fix 2014-10-15 22:36:38 +02: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
vbystricky
a75807354d Optimize OpenCL version function BackgroundSubstractionMOG2 2014-09-23 10:33:30 +04:00
Juan Carlos Niebles
dc49e11527 removed setter methods, replaced by CV_PROP_RW macro 2014-09-18 09:39:35 -05:00
Juan Carlos Niebles
f610c88103 extended python interface for KalmanFilter 2014-09-17 18:45:48 -05:00
Ernest Galbrun
2f077fcd99 fixed failing test in opencv_video 2014-08-19 10:00:03 +02:00
Ernest Galbrun
6207d338dd merged new master branch
changed tests for tvl1 optflow
correction of a bug preventing compilation with cuda (fmin changed to fminf)
2014-08-18 15:29:45 +02:00
Ernest Galbrun
fae69df9a9 Merge remote-tracking branch 'remotes/origin/master' into tvl1_chambolle
Conflicts:
	modules/video/doc/motion_analysis_and_object_tracking.rst
2014-08-17 22:08:12 +02: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
Vadim Pisarevsky
07744af790 Merge pull request #3066 from vpisarev:minor_fixes 2014-08-11 10:27:30 +00:00
Vadim Pisarevsky
d0137b6d2d moved part of video to contrib/{outflow, bgsegm}; moved matlab to contrib 2014-08-10 23:24:16 +04:00
Vadim Pisarevsky
05e7c29de5 fixed various warnings and obvious errors reported by clang compiler and the coverity tool. 2014-08-10 00:10:05 +04:00
Vadim Pisarevsky
0224a20ff6 ECC patch by the author (G. Evangelidis); fixed some OCL Farneback optical flow test failures on Mac 2014-08-08 22:33:40 +04:00
Alexander Alekhin
55188fe991 world fix 2014-08-05 20:12:35 +04:00
Ernest Galbrun
7b8bb4248b Merge branch 'cuda_concurrency' into tvl1_chambolle 2014-07-31 16:08:57 +02:00
vbystricky
4286f60387 Extract imgcodecs module from highgui 2014-07-07 16:28:08 +04:00
Ernest Galbrun
62fed8b7b2 retry after failure to load from the build bot 2014-07-07 12:55:07 +02:00
Ernest Galbrun
3d8e05d711 documentation formatting 2014-07-07 12:46:59 +02:00
Ernest Galbrun
5c8e679bdc still a couple tabs and trailing whitespaces... 2014-07-07 12:34:23 +02:00
Ernest Galbrun
ca6fb27ea6 removed some tabs 2014-07-07 09:49:57 +02:00
Ernest Galbrun
eb6c598678 changed nullptr to NULL to avoid c++11 (failed to build on linux)
replaces tabs with spaces
2014-07-07 09:32:48 +02:00
Ernest Galbrun
062e1cbe06 edited documentation to take into account changes in TVL1 2014-07-04 15:45:58 +02:00
Ernest Galbrun
4bd55c6f73 added comments and reference for Chambolle paper 2014-07-04 15:33:34 +02:00
Ernest Galbrun
693c4e5741 debug of cuda_tvl1 => pass tests succesfully 2014-07-04 14:23:09 +02:00
Ernest Galbrun
afb9b9540c performance issue when gamma=0 2014-07-02 12:01:59 +02:00
Ernest Galbrun
f2e09d048c changed default value for gamma (now 0 -> no use of gamma) 2014-07-02 10:38:32 +02:00
Ernest Galbrun
c45e645d6c Merge branch 'master' into tvl1_ali 2014-07-01 10:17:07 +02:00
Ernest Galbrun
5101a7fc00 replaced tabs by spaces 2014-06-27 15:41:39 +02:00
krodyush
2e2ca58b70 fix according review 2014-05-30 15:44:51 +04:00
krodyush
153ac43d3b opencl opticaflow fix that enables buffer2image extension 2014-05-28 10:34:11 +04:00
Roman Donchenko
3d7a457c97 Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	doc/tutorials/introduction/linux_install/linux_install.rst
	modules/core/doc/operations_on_arrays.rst
	modules/core/include/opencv2/core/core.hpp
	modules/core/src/system.cpp
	modules/gpu/src/cuda/resize.cu
	modules/imgproc/doc/miscellaneous_transformations.rst
	modules/imgproc/doc/structural_analysis_and_shape_descriptors.rst
	modules/video/src/bgfg_gaussmix2.cpp
2014-05-19 18:39:20 +04:00
Alexander Mordvintsev
a52979c37f exposed TVL1 optical flow to python 2014-05-14 17:45:21 +04:00
Alexander Alekhin
b62e59aac0 icv: enable functions 2014-04-29 15:36:43 +04:00
vbystricky
a13e6ab79f Fix problem with sanity check of transform ecc with ipp resize 2014-04-25 17:33:38 +04:00
Ernest Galbrun
6a6f24b170 adding new ali's feature 2014-04-18 16:36:34 +02:00
Maks Naumov
3e5a69d8ba remove unused variables in OCL_PERF_TEST_P() 2014-04-17 00:19:04 +03:00
Andrey Pavlenko
80ef1f6753 Merge pull request #2621 from arkunze:pullreq/140319-resize-b 2014-04-15 19:56:56 +04:00
Vadim Pisarevsky
7942494fb6 Merge pull request #2233 from palindromoroz:BGSubtract_KNN_new_code 2014-04-15 13:22:43 +04:00
Vadim Pisarevsky
9cdd15e141 Merge pull request #2615 from krodyush:pullreq/140319-PyrLKOpticalFlow-fix 2014-04-15 13:19:45 +04:00
Aaron Kunze
ebbac3c66d Optimizes OpenCL resize and optical flow to use image extension. 2014-04-14 16:09:17 -07:00
krodyush
57992e0169 replace IPatchLocal[][] into *IPatchLocal to fix compilation error on some devices. 2014-04-14 13:23:12 +04:00
Vadim Pisarevsky
b5755b1228 Merge pull request #2588 from vpisarev:fix_samples_n_unused 2014-04-10 13:30:20 +04:00
Alexander Alekhin
ab691a4a24 ipp: some functions are not available in the ICV package #2 2014-04-09 18:20:49 +04:00
Andrey Pavlenko
e013f04669 Merge pull request #2583 from ilya-lavrenov:ippicv 2014-04-09 14:14:14 +04:00
Ilya Lavrenov
4a63b3dd90 cv2cvtest part2 2014-04-09 13:08:51 +04:00
Ilya Lavrenov
b56b9c43dc cv::updateMotionHistory 2014-04-09 00:11:28 +04:00
Vadim Pisarevsky
1b339eb0d4 fixed slow down in getRectSubPix (original patch by Markus JR Mueller); removed some unused variables and functions 2014-04-08 17:54:08 +04:00
Firat Kalaycilar
990295644e made a performance improvement.
changed the way the mean value for each pixel is assigned in the output image.
2014-04-08 16:10:32 +03:00
krodyush
616ec74beb fix previous merge error 2014-04-07 17:32:39 +04:00
krodyush
4ca695cab0 Merge remote-tracking branch 'github/master' into pullreq/140319-PyrLKOpticalFlow
Conflicts:
	modules/video/src/opencl/pyrlk.cl
2014-04-04 11:26:08 +04:00
unknown
75534a4828 Python typdef fixed. Reverted the example to MOG2. Not time to make the command line switch for now. 2014-03-28 14:23:10 +01:00
Roman Donchenko
cc05493730 Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	cmake/OpenCVDetectAndroidSDK.cmake
	cmake/OpenCVGenAndroidMK.cmake
	cmake/OpenCVModule.cmake
	cmake/templates/OpenCV.mk.in
	cmake/templates/OpenCVConfig.cmake.in
	doc/tutorials/imgproc/histograms/histogram_comparison/histogram_comparison.rst
	modules/cudabgsegm/src/cuda/mog.cu
	modules/imgproc/perf/opencl/perf_filters.cpp
	modules/imgproc/src/opencl/filterSep_singlePass.cl
	modules/nonfree/CMakeLists.txt
	modules/nonfree/perf/perf_precomp.hpp
	modules/ocl/perf/perf_haar.cpp
	modules/ocl/src/filtering.cpp
	modules/ocl/src/opencl/bgfg_mog.cl
	modules/superres/CMakeLists.txt
	modules/superres/src/btv_l1_cuda.cpp
	modules/superres/src/cuda/btv_l1_gpu.cu
	modules/superres/src/frame_source.cpp
	modules/superres/src/input_array_utility.cpp
	modules/superres/src/optical_flow.cpp
	modules/superres/src/precomp.hpp
	samples/gpu/CMakeLists.txt
	samples/gpu/brox_optical_flow.cpp
	samples/gpu/super_resolution.cpp
2014-03-24 19:02:16 +04:00
Andrey Pavlenko
157f35ef29 Merge pull request #2503 from mlyashko:optflow_dualtvl1 2014-03-24 10:35:51 +04:00
Andrey Pavlenko
f368b27f0a Merge pull request #2489 from vbystricky:iocl_pyrlk 2014-03-21 18:33:32 +04:00
Firat Kalaycilar
c9f51d5eed modified BackgroundSubtractorMOG2::getBackgroundImage so that it can now work with gray-level images. 2014-03-21 09:44:11 +02:00
mlyashko
80a40ae3d7 changed epsilon for test pass on Win32 2014-03-20 16:15:43 +04:00
krodyush
65d64af2a8 ocl_calcOpticalFlowPyrLK optimizations
1. decrease branch number in CL code by replacing them into weights
2. decrease local mem pressure in reduce operation by using private variables
3. decrease image sampler pressure by caching data into local memory
4. remove unnecessary sync point on the HOST side.
2014-03-19 19:31:14 +04:00
Ilya Lavrenov
b73490f86c eliminated restriction src[i].channels() == 1 in cv::merge 2014-03-19 13:56:31 +04:00
vbystricky
6890aa0033 Fix problems on Intel HD graphics 2014-03-17 16:03:15 +04:00
Firat Kalaycilar
a87607e3ef Fixed an issue with weight assignment causing the resulting GMM weights to be unsorted in BackgroundSubtractorMOG2 2014-03-12 16:14:59 +02:00
Andrey Pavlenko
702a2a6ff6 Merge pull request #2373 from mlyashko:optflow_dualtvl1 2014-03-11 16:00:22 +04:00
mlyashko
eb2e8a11fa changed kernel.set to support unsuccssful set 2014-03-07 11:15:54 +04:00
mlyashko
66ed6a8a50 macro for normal return from thriveless kernel.set 2014-03-06 11:43:01 +04:00
Cody Rigney
a80ebfe28d Master Version: Added NEON Optimizations for LK Optical Flow. 2014-03-04 14:47:12 -05:00
Roman Donchenko
b5248dbf3f Merge pull request #2407 from codyrigney92:LKOptFlow_NEON 2014-03-04 15:30:26 +04:00
mlyashko
5c867463d2 changed localsize to NULL (reviewers comment) 2014-03-04 11:36:47 +04:00
Cody Rigney
fbc69e444b Added NEON optimizations for LK optical flow (Intrinsics). 2014-02-28 16:48:04 -05:00
mlyashko
ba5ebaa758 changed file name to case-sensitve to support linux 2014-02-26 10:55:18 +04:00
Ilya Lavrenov
ce0557ebb8 fixed defects from Xcode 2014-02-25 17:33:12 +04:00
mlyashko
e75a257f92 changed epsilon for test passing 2014-02-24 17:47:56 +04:00
Ilya Lavrenov
32eb38ec98 fixed defects from coverity.com 2014-02-23 20:21:08 +04:00
mlyashko
10f2a038c2 Optical flow dualt tvl1 ocl-based implementation and tests 2014-02-20 14:23:10 +04:00
Andrey Pavlenko
bd6620fa87 Merge pull request #2252 from ilya-lavrenov:ocl_ref 2014-02-04 16:34:28 +04:00
Ilya Lavrenov
da5b316b4e minor ocl.cpp refactoring
fix for cv::LUT and cv::transpose
2014-02-04 01:52:48 +04:00
Ilya Lavrenov
31b7cdc695 implemented OpenCL version of cv::updateMotionHistory 2014-02-02 17:52:57 +04:00
Andrey Pavlenko
25d2ab8a68 Merge pull request #2218 from alalek:fix_defects_code_coverity 2014-01-31 19:23:02 +04:00
Elena Gvozdeva
69630ee9d9 fixed test 2014-01-31 10:46:29 +04:00
U-WBI\nlv20442
be7eb72051 some fixes 2014-01-30 14:50:35 +01:00
U-WBI\nlv20442
d950adc0d2 function code 2014-01-30 10:51:12 +01:00
unknown
14b1e8c7f1 New KNN code -should compile now 2014-01-30 10:47:12 +01:00
Alexander Alekhin
6fa49f6e80 fix unintialized fields 2014-01-29 19:59:03 +04:00
Elena Gvozdeva
96b6f338e1 fixed 2014-01-29 14:27:29 +04:00
Elena Gvozdeva
17c6b4d306 fixed warnings 2014-01-29 11:05:05 +04:00
Elena Gvozdeva
0edd0aaf69 fixed 2014-01-28 16:23:39 +04:00
Elena Gvozdeva
1391ca1da5 Added ocl_Mog2 2014-01-28 16:23:38 +04:00
vbystricky
bb09d44e0a Unused code removed 2014-01-24 17:37:54 +04:00
vbystricky
27fb7e1802 Change type of result vector of ocl version from row to column 2014-01-24 17:37:53 +04:00
vbystricky
094bc92318 Fix build error 2014-01-24 17:37:53 +04:00
vbystricky
a7e5a488a8 Change method of setting arguments to kernel to safe one 2014-01-24 17:37:52 +04:00
vbystricky
e96ba8140c Grow up epsilon for sanity checks 2014-01-24 17:37:52 +04:00
vbystricky
3a798a27e5 Add perfomance test 2014-01-24 17:37:52 +04:00
vbystricky
ece635bf3c Fix builds errors 2014-01-24 17:37:51 +04:00
vbystricky
3ba6636651 Fix builds errors 2014-01-24 17:37:51 +04:00
vbystricky
33fc46cdec Validate parameters for using OpenCL version, before upload UMat 2014-01-24 17:37:50 +04:00
vbystricky
4152135e63 Fix error with some opencl functions on the build WITH_OPENCL=OFF 2014-01-24 17:37:50 +04:00
vbystricky
c57e427fba Move OpticalFlowPyrLK from ocl module to video module 2014-01-24 17:37:50 +04:00
Andrey Pavlenko
9aa4410509 Merge pull request #2134 from vbystricky:ocl_calcOpticalFlowFarneback 2014-01-22 18:57:34 +04:00
vbystricky
e0c6377d58 Change the sanity checking type to ERROR_RELATIVE 2014-01-22 10:34:27 +04:00
vbystricky
c1172b83dd Change epsilon value to 0.01 2014-01-21 18:46:26 +04:00
Ilya Lavrenov
37789f015a deleted excess semicolons, commas 2014-01-18 01:31:33 +04:00
vbystricky
f1541b5287 Add perfomance test 2014-01-17 16:15:39 +04:00
vbystricky
fc8b385ff6 Return false if ocl version not properly worked 2014-01-17 16:15:38 +04:00
vbystricky
3762036b08 Fix compiler warnings. Add additional test case for UseInitFlow 2014-01-17 16:15:38 +04:00
vbystricky
3b0fa68a97 Move OpticalFlowFarneback from ocl module to video module 2014-01-17 16:15:38 +04:00
Roman Donchenko
fee2ed37fc Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	modules/contrib/src/retina.cpp
	modules/core/include/opencv2/core/mat.hpp
	modules/core/src/algorithm.cpp
	modules/core/src/arithm.cpp
	modules/features2d/src/features2d_init.cpp
	modules/gpu/include/opencv2/gpu/gpu.hpp
	modules/gpu/perf/perf_imgproc.cpp
	modules/imgproc/src/generalized_hough.cpp
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/video/src/tvl1flow.cpp
	modules/video/src/video_init.cpp
2014-01-14 11:53:59 +04:00
Ilya Lavrenov
6b9ebcbf3d deleted extra semicolons 2014-01-07 02:52:30 +04:00
Ilya Lavrenov
6083efc111 refactored cv::CamShift and cv::meanShift 2013-12-21 14:40:59 +04:00
berak
34a390fbc2 CV_WRAP for BackgroundSubtractorMOG2 2013-11-30 13:35:23 +01:00
Roman Donchenko
9c83f6c4fb Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	cmake/OpenCVDetectCUDA.cmake
	modules/core/include/opencv2/core/version.hpp
	modules/cudacodec/src/ffmpeg_video_source.cpp
	modules/gpu/src/video_writer.cpp
	modules/highgui/test/test_ffmpeg.cpp
	modules/highgui/test/test_video_io.cpp
	modules/highgui/test/test_video_pos.cpp
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/include/opencv2/ocl/private/util.hpp
	modules/ocl/src/arithm.cpp
	modules/ocl/src/blend.cpp
	modules/ocl/src/canny.cpp
	modules/ocl/src/cl_operations.cpp
	modules/ocl/src/filtering.cpp
	modules/ocl/src/haar.cpp
	modules/ocl/src/imgproc.cpp
	modules/ocl/src/kmeans.cpp
	modules/ocl/src/moments.cpp
	modules/ocl/src/safe_call.hpp
	modules/ocl/src/split_merge.cpp
	modules/ocl/test/test_moments.cpp
	samples/ocl/squares.cpp
2013-11-05 16:38:23 +04:00
Vadim Pisarevsky
d8c8339bec the first draft of transparent API and new UMat class. more files 2013-10-22 14:05:15 +04:00
Nghia Ho
2238e711b5 Copied errorCovPre to errorCovPost. This allows the correct behaviour of the uncertainty to grow when there is missing data for each predict step. 2013-10-20 13:00:11 +11:00
Roman Donchenko
808e0cf10b Boring changes - video. 2013-09-05 19:02:58 +04:00
Roman Donchenko
9ed475cf52 War on Whitespace, master edition: file endings. 2013-08-27 14:23:26 +04:00
Roman Donchenko
2c4bbb313c Merge commit '43aec5ad' into merge-2.4
Conflicts:
	cmake/OpenCVConfig.cmake
	cmake/OpenCVLegacyOptions.cmake
	modules/contrib/src/retina.cpp
	modules/gpu/doc/camera_calibration_and_3d_reconstruction.rst
	modules/gpu/doc/video.rst
	modules/gpu/src/speckle_filtering.cpp
	modules/python/src2/cv2.cv.hpp
	modules/python/test/test2.py
	samples/python/watershed.py
2013-08-27 13:26:44 +04:00
Roman Donchenko
e9a28f66ee Normalized file endings. 2013-08-21 18:59:25 +04:00
Roman Donchenko
f76dd99299 Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	cmake/OpenCVModule.cmake
	doc/tutorials/calib3d/camera_calibration/camera_calibration.rst
	doc/tutorials/features2d/feature_detection/feature_detection.rst
	doc/tutorials/features2d/feature_flann_matcher/feature_flann_matcher.rst
	doc/tutorials/features2d/feature_homography/feature_homography.rst
	modules/core/include/opencv2/core/operations.hpp
	modules/core/src/arithm.cpp
	modules/gpu/perf/perf_video.cpp
	modules/imgproc/include/opencv2/imgproc/imgproc.hpp
	modules/java/generator/gen_java.py
	modules/java/generator/src/cpp/VideoCapture.cpp
	modules/nonfree/src/opencl/surf.cl
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/ocl/perf/perf_haar.cpp
	modules/ocl/perf/perf_precomp.hpp
	modules/ocl/src/color.cpp
	modules/ocl/src/filtering.cpp
	modules/ocl/test/test_color.cpp
	modules/ocl/test/test_objdetect.cpp
	modules/python/src2/cv2.cpp
	samples/gpu/CMakeLists.txt
	samples/gpu/super_resolution.cpp
2013-08-19 19:02:36 +04:00
Roman Donchenko
7d768d2159 In calcOpticalFlowSF, fixed several uninitialized uses of matrices.
This should fix that pesky test failure that pops up from time to time.

I don't actually know if the default values should be zeros, but the tests
pass, so...
2013-08-16 14:43:18 +04:00
Roman Donchenko
2530b580a8 Merge branch 'master' into merge-2.4
Conflicts:
	modules/photo/doc/inpainting.rst
2013-08-16 14:14:12 +04:00
abidrahmank
92d04d439e docs changes 2013-08-13 21:58:49 +05:30
Roman Donchenko
6b5ac42a9b Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts:
	modules/calib3d/doc/camera_calibration_and_3d_reconstruction.rst
	modules/features2d/doc/common_interfaces_of_descriptor_extractors.rst
	modules/features2d/doc/object_categorization.rst
	modules/gpu/doc/camera_calibration_and_3d_reconstruction.rst
	modules/gpu/doc/image_filtering.rst
	modules/gpu/doc/image_processing.rst
	modules/gpu/doc/video.rst
	modules/imgproc/doc/miscellaneous_transformations.rst
	modules/imgproc/doc/object_detection.rst
	modules/imgproc/doc/structural_analysis_and_shape_descriptors.rst
	modules/imgproc/src/samplers.cpp
	modules/ml/doc/k_nearest_neighbors.rst
	modules/nonfree/doc/feature_detection.rst
	modules/ocl/include/opencv2/ocl/ocl.hpp
	modules/photo/doc/inpainting.rst
	modules/ts/include/opencv2/ts.hpp
	platforms/scripts/camera_build.conf
	samples/android/camera-calibration/AndroidManifest.xml
2013-08-13 12:56:39 +04:00
Roman Donchenko
d9f71b762f Deleted almost all of the precomp.cpp files.
Looks like we don't actually use them; when creating precompiled headers
with Visual C++, a dummy .cpp is created at build time.
2013-08-08 12:43:07 +04:00
StevenPuttemans
ed76b2f98f Like mentioned by Andrei Pavlenko after merging pullrequest #1206, a wrong
ReST directive was used. Also fixed some other ReST directives that were
not correct and removed some warnings during buildbot checks.
2013-08-07 14:49:33 +02:00
Roman Donchenko
dcaf923517 Merge remote-tracking branch 'origin/2.4'
Conflicts:
	3rdparty/ffmpeg/ffmpeg_version.cmake
	cmake/OpenCVFindLibsGrfmt.cmake
	cmake/templates/cvconfig.h.cmake
	modules/bioinspired/doc/retina/index.rst
	modules/calib3d/doc/camera_calibration_and_3d_reconstruction.rst
	modules/calib3d/src/precomp.hpp
	modules/contrib/src/inputoutput.cpp
	modules/contrib/src/precomp.hpp
	modules/core/include/opencv2/core/internal.hpp
	modules/core/include/opencv2/core/types_c.h
	modules/core/src/drawing.cpp
	modules/core/src/precomp.hpp
	modules/core/src/system.cpp
	modules/features2d/doc/common_interfaces_of_descriptor_matchers.rst
	modules/features2d/doc/common_interfaces_of_feature_detectors.rst
	modules/features2d/include/opencv2/features2d/features2d.hpp
	modules/features2d/src/precomp.hpp
	modules/flann/src/precomp.hpp
	modules/gpu/doc/camera_calibration_and_3d_reconstruction.rst
	modules/gpu/doc/image_filtering.rst
	modules/gpu/doc/image_processing.rst
	modules/gpu/doc/video.rst
	modules/gpu/perf/perf_imgproc.cpp
	modules/gpu/perf4au/main.cpp
	modules/gpu/src/imgproc.cpp
	modules/gpu/src/precomp.hpp
	modules/gpu/test/test_imgproc.cpp
	modules/highgui/CMakeLists.txt
	modules/highgui/test/test_precomp.hpp
	modules/imgproc/doc/structural_analysis_and_shape_descriptors.rst
	modules/imgproc/src/precomp.hpp
	modules/java/generator/src/cpp/Mat.cpp
	modules/legacy/src/precomp.hpp
	modules/ml/doc/k_nearest_neighbors.rst
	modules/ml/src/precomp.hpp
	modules/nonfree/doc/feature_detection.rst
	modules/nonfree/src/precomp.hpp
	modules/objdetect/include/opencv2/objdetect/objdetect.hpp
	modules/objdetect/src/cascadedetect.cpp
	modules/objdetect/src/hog.cpp
	modules/objdetect/src/precomp.hpp
	modules/objdetect/test/test_latentsvmdetector.cpp
	modules/ocl/src/hog.cpp
	modules/ocl/src/opencl/objdetect_hog.cl
	modules/ocl/src/precomp.hpp
	modules/photo/src/precomp.hpp
	modules/stitching/src/precomp.hpp
	modules/superres/perf/perf_precomp.hpp
	modules/superres/src/optical_flow.cpp
	modules/superres/src/precomp.hpp
	modules/superres/test/test_precomp.hpp
	modules/ts/include/opencv2/ts.hpp
	modules/video/src/precomp.hpp
	modules/videostab/src/precomp.hpp
	modules/world/src/precomp.hpp
2013-08-06 13:56:49 +04:00
StevenPuttemans
f28496c628 Added sample links in documentation for python2, ocl and gpu 2013-08-02 14:05:08 +02:00
Andrey Pavlenko
6a40067424 Merge pull request #1206 from StevenPuttemans:feature_3169 2013-07-31 14:31:21 +04:00
StevenPuttemans
0c5244103f Added all *.cpp samples reference to the 2.4.6 documentation as discussed in feature #3169
- Used lunix style slashes - works on most systems
- Removed all trailing whitespaces
2013-07-31 11:20:05 +02:00
abidrahmank
297b67d2b1 pydocs for cv2.findTransformECC 2013-07-21 13:40:11 +05:30