Commit Graph

782 Commits

Author SHA1 Message Date
Alexander Alekhin
d69a327d6d OpenCV version++
OpenCV 3.4.2
2018-06-10 10:20:38 +03:00
Alexander Alekhin
0614ee3f95 Merge pull request #11726 from catree:add_tutorial_java_ld_preload_mkl 2018-06-08 19:10:38 +00:00
catree
afa5b0cc93 Add Java and Python code for cascade classifier and HDR tutorials. 2018-06-08 19:30:30 +02:00
catree
9a7f426b7b Add LD_PRELOAD instruction to be able to run Java code that calls OpenCV functions that use the Intel MKL library. 2018-06-08 15:47:06 +02:00
Alexander Alekhin
45dd575ed2 Merge remote-tracking branch 'upstream/3.4' into merge-3.4
Revert "documentation: avoid links to 'master' branch from 3.4 maintenance branch"
This reverts commit 9ba9358ecb.

Revert "documentation: avoid links to 'master' branch from 3.4 maintenance branch (2)"
This reverts commit f185802489.
2018-06-04 19:26:10 +03:00
Vadim Pisarevsky
3030594665 Merge pull request #11644 from alalek:docs_avoid_master_links_in_3.4-2 2018-06-04 10:19:44 +00:00
Kuang Fangjun
9ae28415ec fix doc. 2018-06-03 17:44:24 +08:00
Alexander Alekhin
f185802489 documentation: avoid links to 'master' branch from 3.4 maintenance branch (2)
Other links:
- https://raw.githubusercontent.com/opencv/opencv/master
- https://github.com/opencv/opencv/blob/master
2018-05-31 19:30:56 +03:00
Alexander Alekhin
9ba9358ecb documentation: avoid links to 'master' branch from 3.4 maintenance branch 2018-05-31 16:45:18 +03:00
catree
ade21f142e Add Java and Python code for the following features2d tutorials: Harris corner detector, Shi-Tomasi corner detector, Creating your own corner detector, Detecting corners location in subpixels, Feature Detection, Feature Description, Feature Matching with FLANN, Features2D + Homography to find a known object. Use Lowe's ratio test to filter the matches. 2018-05-29 10:35:57 +02:00
Alexander Alekhin
0f298a4203 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-05-28 11:22:55 +00:00
catree
4c1c3147d9 Add Java and Python code for the following imgproc tutorials: Affine Transformations, Histogram Equalization, Histogram Calculation, Histogram Comparison, Back Projection. 2018-05-24 01:11:28 +02:00
Alexander Alekhin
5e68f35500 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-05-22 19:02:01 +03:00
Alexander Alekhin
af5f40a80e Merge pull request #11543 from catree:add_tutorial_imgproc_java_python 2018-05-22 12:26:34 +00:00
Alexander Alekhin
db88cd1b25 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-05-21 16:20:14 +03:00
Alexander Alekhin
085b27fc3d Merge pull request #11390 from dkurt:east_text_detection 2018-05-21 13:02:29 +00:00
catree
9f6108ae7a Add Java and Python code for the following imgproc tutorials: Canny, Remap, threshold and threshold inRange. Use HSV colorspace instead of RGB for inRange threshold tutorial. 2018-05-18 20:11:53 +02:00
catree
9fc0cabdf5 Add Java and Python code for trackbar tutorial. 2018-05-18 11:29:41 +02:00
catree
7e3490959a Add Java and Python code for morphology tutorials. 2018-05-16 14:19:48 +02:00
Dmitry Kurtaev
8488f2e265 EAST: An Efficient and Accurate Scene Text Detector (https://arxiv.org/abs/1704.03155v2) 2018-05-11 14:55:42 +03:00
Alexander Alekhin
51e543050c Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-05-10 18:19:56 +03:00
cabelo
1b3e0783f4 select the device (video capture) 2018-05-09 17:20:02 +03:00
abhi-jha
a31aff452a fix spelling error 2018-05-05 10:08:16 +03:00
Alexander Alekhin
000a13b6a3 Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-05-03 14:30:38 +00:00
Dmitry Kurtaev
d5b9563263 Custom deep learning layers in Python 2018-04-26 09:25:18 +03:00
Alexander Alekhin
cd2b188c9a Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-04-24 18:13:06 +03:00
Dmitry Kurtaev
4ec456f0a0 Custom layers for deep learning networks (#11129)
* Custom deep learning layers support

* Stack custom deep learning layers
2018-04-24 14:59:59 +03:00
Alexander Alekhin
4b2d1aaeea Merge remote-tracking branch 'upstream/3.4' into merge-3.4 2018-04-16 12:41:47 +03:00
Alexander Alekhin
a2d6ee2d31 Merge pull request #11305 from tomoaki0705:typoNVIDIA 2018-04-13 12:56:42 +00:00
Tomoaki Teshima
a40354d16f use correct name for NVIDIA
* remove NVidia and Nvidia
  * replace Cuda with CUDA
  * keep the letters for API
2018-04-13 20:33:19 +09:00
Alexander Alekhin
c6aa97c9aa next(android): java3 -> java4 2018-04-10 18:09:54 +03:00
Alexander Alekhin
5b17a60dde next: drop HAVE_TEGRA_OPTIMIZATION/TADP 2018-04-10 18:09:54 +03:00
Alexander Alekhin
d4688e6474 cmake: require C++11 and CMake 3.5.1+ 2018-04-10 18:09:54 +03:00
Alexander Alekhin
4990506948 cuda: WITH_CUDA=OFF by default (need to enable it explicitly) 2018-04-05 19:23:58 +00:00
Alexander Alekhin
82d2a0873d cleanup: biicode
project is not active anymore
2018-04-03 16:44:15 +03:00
Dmitry Kurtaev
538fd42363 Add test for Scalar arguments at CommandLineParser 2018-03-13 11:01:07 +03:00
Dmitry Kurtaev
f2440ceae6 Update tutorials. A new cv::dnn::readNet function 2018-03-04 20:30:22 +03:00
Dmitry Kurtaev
e8d94ea87c Unite deep learning object detection samples 2018-03-03 14:47:13 +03:00
Alexander Alekhin
6ffc48769a OpenCV version++
OpenCV 3.4.1
2018-02-23 11:38:33 +03:00
luz.paz
e805a55a5b Misc. modules/ typos (cont.)
Found via `codespell`
2018-02-12 10:15:36 -05:00
luz.paz
d47b1f3b70 Misc. ./apps ./doc ./platoforms typos
Found via `codespell -q 3 --skip="./3rdparty" -I ../opencv-whitelist.txt`
2018-02-08 13:04:34 -05:00
Eric Wang
c11895f529 Fix typo in video_input_psnr_ssim 2018-01-06 16:15:43 -08:00
Alexander Alekhin
940a90130d Merge pull request #10477 from berak:fix_bg_sub_tutorial 2018-01-02 03:21:16 +00:00
berak
dc88a2bcf2 video: clean up bg subtraction tutorial 2017-12-31 12:23:02 +01:00
Vadim Pisarevsky
d2f13a8259 Merge pull request #10360 from sturkmen72:update_links 2017-12-20 14:19:17 +00:00
Suleyman TURKMEN
1ff33e6e4d Update links 2017-12-20 02:55:29 +03:00
catree
87160cb297 Add Demo 5: Basic panorama stitching from a rotating camera in the homography tutorial. 2017-12-19 22:45:35 +01:00
Suleyman TURKMEN
1654dfe3a9 Update samples (#10333)
* Update samples

* Update calib3d.hpp

* Update calib3d.hpp

* Update calib3d.hpp

* Update calib3d.hpp
2017-12-18 13:44:11 +03:00
Alexander Alekhin
cac4a7e5b5 OpenCV version++
OpenCV 3.4.0-rc
2017-12-16 01:30:43 +03:00
Alexander Alekhin
28b19d6e3e
Merge pull request #10313 from alalek:rename_fix
Fix file names
2017-12-15 21:40:22 +03:00
Alexander Alekhin
d5f152494b fix file names 2017-12-15 14:59:35 +03:00
catree
b417fb0939 Add tutorial and codes for the homography tutorial. 2017-12-14 15:40:10 +01:00
Vadim Pisarevsky
7e680bd9ff Merge pull request #10215 from dkurt:dnn_js 2017-12-11 12:47:52 +00:00
Alexander Alekhin
5560db73bf python: 'cv2.' -> 'cv.' via 'import cv2 as cv' 2017-12-11 13:46:55 +03:00
Haritha
be4fa03fac crop parameter usage in blobFromImage() calls 2017-12-09 17:13:35 +05:30
Dmitry Kurtaev
f503515082 JavaScript bindings for dnn module 2017-12-08 18:33:48 +03:00
alessandro faria
df5ec54fb8 Repair: incorrect display of class name 2017-12-04 22:00:54 +03:00
KUANG Fangjun
67acfc6e25 improve doc. 2017-10-31 10:30:01 +01:00
Pushkal Katara
5feb1c94a7
Documentation Update
Resolves - https://github.com/opencv/opencv/issues/9928
2017-10-30 17:55:40 +05:30
Vadim Pisarevsky
fd1eb63fee Merge pull request #9703 from Ajacmac:patch1 2017-10-30 10:03:03 +00:00
Vadim Pisarevsky
eb9fcf4f08 Update windows_visual_studio_Opencv.markdown 2017-10-27 16:26:42 +03:00
Alexander Alekhin
a871f9e4f7 Merge branch 'update_version' into release 2017-10-23 18:41:12 +03:00
Alexander Alekhin
69e5ac6f02 doc: fix youtube videos handling 2017-10-17 13:50:56 +03:00
Vadim Pisarevsky
0739f28e56 Merge pull request #9786 from LaurentBerger:Histo3d 2017-10-10 10:58:34 +00:00
Alexander Alekhin
bd6fb497bc OpenCV version++
OpenCV 3.3.1
2017-10-10 12:29:57 +03:00
LaurentBerger
752f232335 It's done 2017-10-09 22:25:57 +02:00
LaurentBerger
0a19b07055 Use @snippet 2017-10-09 10:59:30 +02:00
LaurentBerger
421c5dee12 3D histogram 2017-10-06 18:10:38 +02:00
Vadim Pisarevsky
6c6900a6cd Merge pull request #9424 from Cartucho:update_imgproc_tutorials 2017-10-06 14:02:58 +00:00
tribta
9a2317e063 Tutorial Hough Lines 2017-10-05 14:17:38 +03:00
tribta
d99ced6ec8 Tutorial Hough Circles 2017-10-05 14:17:38 +03:00
tribta
9ff33dacfc Tutorial Make Border 2017-10-05 14:17:38 +03:00
tribta
a6f5e1f0ca Tutorial Filter2D 2017-10-05 14:17:38 +03:00
tribta
08515281b9 Tutorial Image Pyramids 2017-10-05 14:17:38 +03:00
tribta
f7d85bfed8 Tutorial Sobel Derivatives 2017-10-05 14:17:36 +03:00
tribta
3250f11f0c Tutorial Laplace Operator 2017-10-05 14:14:04 +03:00
tribta
d068e27420 Tutorial Morph Lines Detection 2017-10-05 14:14:04 +03:00
tribta
18bc4db75c Tutorial Hit-or-Miss 2017-10-05 14:14:04 +03:00
tribta
bc18fb481f Tutorial Smoothing Images 2017-10-05 14:14:03 +03:00
Sebastian Höffner
440e8d4efa
Configuring Doxygen to generate a tag file.
Additionally adds a tutorial on how to use the tag file in other
projects to link back to the OpenCV documentation.

The tutorial is also the only place which links to the tag file as of
now.

For more information on tag files and external documentation, check
https://www.stack.nl/~dimitri/doxygen/manual/external.html
2017-10-04 15:52:12 +02:00
Jacob MacRitchie
8f05af8d05 Fixed my additions. For real this time. I think.
Oops. Hopefully it works this time.
2017-09-24 05:58:22 -03:00
Raymond Kirk
4059f8b3a3 Fix 'directory does not exist' in windows tutorial 2017-09-21 16:46:58 +01:00
Vadim Pisarevsky
4196543cd5 Merge pull request #9313 from dkurt:dnn_perf_test 2017-09-16 19:39:23 +00:00
Vadim Pisarevsky
bc09d1ba3b Merge pull request #9406 from Cartucho:update_core_tutorials 2017-09-13 14:09:39 +00:00
tribta
45afd29b72 Tutorial Mask Operations on Matrices 2017-09-09 15:20:21 +01:00
tribta
954e2f9b9c Tutorial Discrete Fourier Transform 2017-09-09 15:10:18 +01:00
tribta
13317bdfda Tutorial Basic Geometric Drawing 2017-09-09 15:02:51 +01:00
tribta
c4c1e94088 Tutorial Adding Images 2017-09-09 15:02:51 +01:00
Alexander Alekhin
e1b102e9a6 Merge pull request #9476 from dkurt:tutorial_dnn_android 2017-09-03 10:34:25 +00:00
Dmitry Kurtaev
72001dc13c Android sample for DNN module 2017-09-03 12:58:10 +03:00
LaurentBerger
82ad0749af add pushd popd 2017-08-31 19:25:53 +02:00
LaurentBerger
3e9a659f4c Another way to build opencv
update

add anchor
2017-08-31 08:45:18 +02:00
Dmitry Kurtaev
5c43a394c5 Added performance test for Caffe framework 2017-08-27 19:40:58 +03:00
Alexander Alekhin
d195f2775a cmake: change Pylint integration 2017-08-24 14:59:33 +03:00
tribta
b7fa6d84bc Using Pylint Tool to Test the python tutorial codes
* Adding CMake script to check if pylint is installed
* Adding Pylint config file (to choose the tests that are enabled)
* Adding CMake script to samples/python/tutorial_code

Testing: bad-indentation, mixed-indentation, unnecessary-semicolon, unused-variable
2017-08-24 14:58:48 +03:00
Alexander Alekhin
3a8dbebd37 Merge pull request #9382 from StevenPuttemans:fix_9121 2017-08-16 13:56:33 +00:00
Steven Puttemans
9e5c9dad55 fix_9121 2017-08-16 11:34:55 +02:00
Steven Puttemans
bdcb81e81e fix issue 9359 2017-08-14 16:16:04 +02:00
Maksim Shabunin
886b1f39d9 Moved dnn module documentation and tutorials links higher in the lists 2017-07-31 14:54:28 +03:00
LaurentBerger
69fd57bc96 update tutorial link for dnn 2017-07-25 19:32:17 +02:00
Vladislav Sovrasov
e5fbb4f5d2 Merge pull request #9034 from sovrasov:mats_from_initializer_list
Add constructors taking initializer_list for some of OpenCV data types (#9034)

* Add a constructor taking initializer_list for Matx

* Add a constructor taking initializer list for Mat and Mat_

* Add one more method to initialize Mat to the corresponding tutorial

* Add a note how to initialize Matx

* CV_CXX_11->CV_CXX11
2017-07-14 17:17:09 +00:00
Guilherme William Guedes
d098048aba Fix typo: 'right direction' to 'y direction'.
Fix typo: 'right direction' to 'y direction' in harris corner detector tutorial.
2017-07-09 15:57:55 -07:00
Frank de Brabander
36b00e69ab how_to_scan_images.markdown: fix grammer mistakes
Improve the readability of the tutorial.
2017-06-30 15:51:02 +02:00
Vladislav Sovrasov
3c748ccf10 core: add an ability to use cxx11 lambda as a parallel_for_ body 2017-06-28 16:16:05 +03:00
lewisjb
47c9bb7ba8 Update doc build instructions for doxygen 2017-06-11 00:00:45 +10:00
Drew Hintz
f6b6fbf136 change tutorial to use enum name instead of value (#8783)
* change tutorial to use enum name instead of value

* use enum name instead of value
2017-05-25 12:10:13 +03:00
vskarlsruhe
0bc30d382d Merge pull request #8752 from vskarlsruhe:patch-7
Update windows_install.markdown (#8752)
2017-05-22 16:44:23 +03:00
Drew Hintz
aea846ad96 Update broken downloads link in documentation (#8764)
* Update broken downloads link

* Update broken downloads link

* Update broken downloads link
2017-05-22 12:37:58 +03:00
Cartucho
2055bcc807 Extending template_matching tutorial with Java (#8043)
* Extending template_matching tutorial with Java

* adding mask to java version of the tutorial

* adding the python toggle and code

* updating table of content

* adding py and java to table of content

* adding mask to python

* going back to markdown with duplicated text

* non duplicated text
2017-05-12 00:42:04 +03:00
vskarlsruhe
986d57c7b2 Update canny_detector.markdown (#8684) 2017-05-03 05:46:34 -07:00
Ninad P.Chaudhari
7885ef2ac8 Spell correction
Corrected the spelling which was used in explanation for parameters.
2017-04-29 20:03:47 +05:30
Alexander Alekhin
9d593e7779 Merge pull request #8324 from sturkmen72:update_objectDetection_cpp 2017-03-07 09:39:02 +00:00
Suleyman TURKMEN
50bda8adfe Update objectDetection.cpp 2017-03-06 16:51:29 +03:00
Adeel Ahmad
bc7f6fc44c Merge pull request #8253 from adl1995:master
* Update linux_install.markdown

Grammar improvements, fixed typos.

* Update tutorials.markdown

Improvements in grammar.

* Update table_of_content_calib3d.markdown

* Update camera_calibration_square_chess.markdown

Improvements in grammar. Added answer.

* Update tutorials.markdown

* Update erosion_dilatation.markdown

* Update table_of_content_imgproc.markdown

* Update warp_affine.markdown

* Update camera_calibration_square_chess.markdown

Removed extra space.

* Update gpu_basics_similarity.markdown

Grammatical improvements, fixed typos.

* Update trackbar.markdown

Improvement for better understanding.
2017-03-01 18:44:34 +00:00
Jiří Sejkora
0689b43a7c Fixed two typos in the Filter2D tutorial 2017-02-09 02:07:06 +01:00
catree
6eed6a8e9f Add thrust tutorial in the GPU main page documentation. 2017-01-24 21:07:27 +01:00
Alexander Alekhin
6f93a3ac5b Merge pull request #8021 from mshabunin:doc-minor-fixes 2017-01-18 12:15:32 +00:00
Maksim Shabunin
66cdc10010 Minor documentation fixes:
- disabled OPTIMIZE_OUTPUT_JAVA
- filtered out *.m scripts
- removed link to old Sphinx documentation
- replaced all mentions of Sphinx with Doxygen
2017-01-18 13:32:20 +03:00
catree
00d2e279d7 Fix tutorial code link in basic_linear_transform tutorial. Add some resource links. 2017-01-17 17:47:27 +01:00
Alexander Alekhin
97f5d05d1f Merge pull request #7960 from catree:tutorial_parallel_for_
Add OpenCV parallel_for_ tutorial.
2017-01-11 12:58:53 +03:00
catree
e16e141c38 Add OpenCV parallel_for_ tutorial. 2017-01-10 17:39:46 +01:00
catree
a891caa755 Use directly the doxygen snippet command for the Changing the contrast and brightness of an image tutorial. Extend the tutorial with a pratical example and with a gamma correction method to adjust the brightness of an image. 2017-01-05 18:31:03 +01:00
Alexander Alekhin
9be630466f Merge pull request #7948 from LorenaGdL:hitmiss_tutorial 2017-01-03 19:35:40 +00:00
Lorena García
3650ec02be HitMiss tutorial 2017-01-03 18:34:04 +01:00
Bryce Evans
a85b4b5805 Merge pull request #7942 from bae43:fix-typos
Fix Documentation Typos (#7942)
2017-01-03 03:00:12 +00:00
Peter Entwistle
b3900c5dfe Fixed broken links in the cascade classifier tutorial 2016-12-19 23:22:08 +00:00
Vadim Pisarevsky
75eeb25c1e Merge pull request #7866 from alalek:update_waitKey 2016-12-16 12:25:11 +00:00
StevenPuttemans
6d34d6b47e update samples: waitKey() usage
Original commit is a5f19f7dd6
2016-12-15 15:39:47 +03:00
Cartucho
fcddfa4f86 GSoC 2016 - Adding ALIASES for tutorial (#7041)
* GSoC 2016 - Adding toggle files to be used by tutorials.

Add a toggle option for tutorials.
* adds a button on the HTML tutorial pages to switch between blocks
* the default option is for languages: one can write a block
for C++ and another one for Python without re-writing the tutorial

Add aliases to the doxyfile.
* adding alises to make a link to previous and next tutorial.
* adding alias to specify the toggle options in the tutorials index.
* adding alias to add a youtube video directly from link.

Add a sample tutorial (mat_mask_opertaions) using the developed aliases:
* youtube alias
* previous and next tutorial alias
* buttons
* languages info for tutorial table of content
* code referances with snippets (and associated sample code files)

* Removing the automatic ordering.
Adding specific toggles for cpp, java and python.
Move all the code to the footer / header and Doxyfile.
Updating documentation.
2016-12-15 15:32:12 +03:00
Maksim Shabunin
daa97021bd Merge pull request #7810 from parismita:patch-1 2016-12-14 14:54:53 +00:00
Randy J. Ray
dd99b7c1cb Further editing/refinement of the tutorial.
This is based on testing OpenCV 3.1 with VisionWorks, which identified issues.
The tutorial now specifies 3 cherry-pick commands for opencv.
2016-12-13 10:54:10 -08:00
parismita
f55e966210 Update linux_install.markdown
Update linux_install.markdown

Update linux_install.markdown

Update linux_install.markdown

Update linux_install.markdown

Update linux_install.markdown

Update linux_install.markdown
2016-12-09 23:04:54 +05:30
Randy J. Ray
036dd8d48f Contribute a tutorial on building for NVIDIA Tegra (#7814)
* Contribute a tutorial on building for NVIDIA Tegra

* Clean-up and fixes based on feedback.
2016-12-08 11:50:59 +03:00
JR Heard
47f53b675d fix a typo in the canny docs 2016-11-30 16:52:28 -08: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
catree
5e8486f68c Try to clarify the morphological operations in the tutorial to avoid possible confusions. 2016-10-09 23:45:04 +02:00
StevenPuttemans
e1b4f5aeb6 fix issue 7352 2016-09-29 14:59:43 +02:00
Vadim Pisarevsky
0d3b6465bd Merge pull request #7112 from StevenPuttemans:improve_cascadeclassifier_training_tutorial 2016-09-14 12:07:26 +00:00
StevenPuttemans
a65f2b4bd3 huge overhaul/update of cascade classifier training 2016-09-12 09:56:09 +02:00
Maksim Shabunin
a278abdc76 Merge pull request #7140 from Asalle:fix-7136-Bounding_Box_explanation 2016-08-29 08:42:02 +00:00
Asal Mirzaieva
ec5ae4af1d add explanation to the Bounding Box and Circles tutorial
- also some minor changes to the respective sample cpp file
2016-08-26 18:23:32 +03:00
Vadim Pisarevsky
2f069c108f Merge pull request #6945 from sturkmen72:update_documentation 2016-08-18 13:23:17 +00:00
Suleyman TURKMEN
bb6f65c199 Update documentation ( tutorials ) 2016-08-15 17:23:04 +03:00
Tomoaki Teshima
bae8b2a9b0 doc: fix typo and grammar 2016-07-28 18:35:16 +09:00
Alexander Alekhin
df9120768d Merge pull request #6929 from catree:hitrate_doc 2016-07-22 13:19:35 +00:00
Tomoaki Teshima
531b8e2320 add note of minimum requirement of CUDA 2016-07-22 07:04:37 +09:00
catree
5ee61219c8 Add bib reference for overall hitrate and max false alarm rate formulas in train cascade tutorial.
Remove useless backslash.
2016-07-19 10:58:33 +02:00
Vadim Pisarevsky
ce05d6cb89 Merge pull request #6773 from acinader:add-mask-to-match-template-demo 2016-07-18 21:14:19 +00:00
Arthur Cinader
bd7c21d83e Fix explanation to refelect how matching currently works. 2016-07-15 09:57:12 -04:00
Alexander Alekhin
ddc0b42bc3 migration: github.com/opencv/opencv 2016-07-12 12:51:12 +03:00