diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4dbe3a1cbd..cddfb0e4f5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -68,7 +68,7 @@ endif()
# ----------------------------------------------------------------------------
# Current version number:
# ----------------------------------------------------------------------------
-set(OPENCV_VERSION "2.1.1")
+set(OPENCV_VERSION "2.2.0")
string(REGEX MATCHALL "[0-9]" OPENCV_VERSION_PARTS "${OPENCV_VERSION}")
@@ -1098,10 +1098,9 @@ if(WIN32)
#exec_program(${CMAKE_COMMAND} ARGS "-E make_directory \"${CMAKE_BINARY_DIR}/win-install/\"")
exec_program(mkdir ARGS "-p \"${CMAKE_BINARY_DIR}/win-install/\"" OUTPUT_VARIABLE RET_VAL)
- configure_file("${CMAKE_CURRENT_SOURCE_DIR}/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" IMMEDIATE @ONLY)
-
- #Install the OpenCVConfig.cmake file which has the right paths pointing to the install directory
- install(FILES "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" DESTINATION "${CMAKE_INSTALL_PREFIX}/")
+ #configure_file("${CMAKE_CURRENT_SOURCE_DIR}/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" IMMEDIATE @ONLY)
+ # Install the OpenCVConfig.cmake file which has the right paths pointing to the install directory
+ install(FILES "${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake" DESTINATION "${CMAKE_INSTALL_PREFIX}/")
# if videoInput support is enabled (which is by default on WIN32) copy the static library required to the installation path
# DESTINATION could also be "${CMAKE_INSTALL_PREFIX}/lib") to simplify dev environment setup of client applications
diff --git a/Package.cmake.in b/Package.cmake.in
index 0a308828eb..e2f373ca49 100644
--- a/Package.cmake.in
+++ b/Package.cmake.in
@@ -74,13 +74,13 @@ if(WIN32)
#set(CPACK_PACKAGE_ICON "utils/opencv.ico")
set(CPACK_NSIS_INSTALLED_ICON_NAME "${CMAKE_SOURCE_DIR}\\\\doc\\\\opencv.ico")
- set(CPACK_NSIS_HELP_LINK "http:\\\\\\\\opencvlibrary.sourceforge.net")
- set(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\opencvlibrary.sourceforge.net")
- set(CPACK_NSIS_CONTACT "info@opencvlibrary.sourceforge.net")
- set(CPACK_NSIS_DISPLAY_NAME "OpenCV SDK")
+ set(CPACK_NSIS_HELP_LINK "http:\\\\\\\\opencv.willowgarage.com")
+ set(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\opencv.willowgarage.com")
+ set(CPACK_NSIS_CONTACT "")
+ set(CPACK_NSIS_DISPLAY_NAME "Open Source Computer Vision Library")
set(CPACK_NSIS_MENU_LINKS
- "doc\\\\index.htm" "Start Page"
+ "http://opencv.willowgarage.com" "Start Page"
"doc\\\\opencv.pdf" "The Reference Manual"
"CMakeLists.txt" "The Build Script (open with CMake)"
"samples\\\\c" "C Samples"
diff --git a/README b/README
index f8bfd8a4d5..9b41b9d9a1 100644
--- a/README
+++ b/README
@@ -1 +1 @@
-See doc/index.htm
+See http://opencv.willowgarage.com
diff --git a/android/cvconfig.h.in b/android/cvconfig.h.in
index d31b34f9ff..2499bd2cfc 100644
--- a/android/cvconfig.h.in
+++ b/android/cvconfig.h.in
@@ -131,13 +131,13 @@
#define PACKAGE_NAME "opencv"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "opencv 2.1.0"
+#define PACKAGE_STRING "opencv 2.2.0"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "opencv"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "2.1.0"
+#define PACKAGE_VERSION "2.2.0"
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
@@ -148,7 +148,7 @@
/* #undef STACK_DIRECTION */
/* Version number of package */
-#define VERSION "2.1.0"
+#define VERSION "2.2.0"
/* Define to 1 if your processor stores words with the most significant byte
first (like Motorola and SPARC, unlike Intel and VAX). */
diff --git a/doc/ChangeLog.htm b/doc/ChangeLog.htm
deleted file mode 100644
index 007fa2cad8..0000000000
--- a/doc/ChangeLog.htm
+++ /dev/null
@@ -1,525 +0,0 @@
-
-
-OpenCV ChangeLog
-
-
-
-
-
-2.1
-(April, 2010)
-
-
-OpenCV 2.1 is basically a stabilized OpenCV 2.0, yet there are a few new features.
-
->>> General modifications
-
- - SVN repository has been migrated from SourceForge to https://code.ros.org/svn/opencv.
- The bug tracker has been moved to https://code.ros.org/trac/opencv/.
- And we also have OpenCV twitter! http://twitter.com/opencvlibrary
-
- - The whole OpenCV is now using exceptions instead of the old libc-style mechanism.
- That is, instead of checking error code with cvGetErrStatus() (which currently always returns 0)
- you can now just call OpenCV functions inside C++ try-catch statements,
- cv::Exception is now derived from std::exception.
-
- - OpenCV does not support autotools-based build scripts,
- CMake (www.cmake.org) is the only way to build OpenCV on any OS.
- See http://opencv.willowgarage.com/wiki/InstallGuide.
-
- - All the parallel loops in OpenCV have been converted from OpenMP
- to Intel TBB (http://www.threadingbuildingblocks.org/). Thus parallel version of OpenCV
- can now be built using MSVC 2008 Express Edition or using earlier than 4.2 versions of GCC.
-
- - SWIG-based Python wrappers are still included,
- but they are not built by default and it's generally preferable to use the new wrappers.
- The python samples have been rewritten by James Bowman to use the new-style Python wrappers,
- which have been also created by James.
-
- - OpenCV can now be built and run in 64-bit mode on MacOSX 10.6 and Windows (see HighGUI and known problems below).
- On Windows both MSVC 2008 and mingw64 are known to work.
-
- - In theory OpenCV is now able to determine the host CPU on-fly and make use of SSE/SSE2/... instructions,
- if they are available. That is, it should be more safe to use WITH_SSE* flags in CMake.
- However, if you want maximum portability, it's recommended to turn on just WITH_SSE and WITH_SSE2
- and leave other SSE* turned off, as we found that using WITH_SSE3, WITH_SSSE3 and WITH_SSE4_1 can yield
- the code incompatible with Intel's pre-Penryn or AMD chips.
-
- - Experimental "static" OpenCV configuration in CMake was contributed by Jose Luis Blanco.
- Pass "BUILD_SHARED_LIBS=OFF" to CMake to build OpenCV statically.
-
->>> New functionality, features:
-
- - cxcore, cv, cvaux:
-
- * Grabcut (http://en.wikipedia.org/wiki/GrabCut) image segmentation algorithm has been implemented.
- See opencv/samples/c/grabcut.cpp
-
- * new improved version of one-way descriptor is added. See opencv/samples/c/one_way_sample.cpp
-
- * modified version of H. Hirschmuller semi-global stereo matching algorithm that we call SGBM
- (semi-global block matching) has been created. It is much faster than Kolmogorov's graph
- cuts-based algorithm and yet it's usually better than the block matching StereoBM algorithm.
- See opencv/samples/c/stereo_matching.cpp.
-
- * existing StereoBM stereo correspondence algorithm by K. Konolige was noticeably improved:
- added the optional left-right consistency check and speckle filtering,
- improved performance (by ~20%).
-
- * User can now control the image areas visible after the stereo rectification
- (see the extended stereoRectify/cvStereoRectify), and also limit the region
- where the disparity is computed (see CvStereoBMState::roi1, roi2; getValidDisparityROI).
-
- * Mixture-of-Gaussian based background subtraction algorithm has been rewritten for better performance
- and better accuracy. Alternative C++ interface BackgroundSubtractor has been provided,
- along with the possibility to use the trained background model to segment the foreground
- without updating the model. See opencv/samples/c/bgfg_segm.cpp.
-
- - highgui:
-
- * MacOSX: OpenCV now includes Cocoa and QTKit backends, in addition to Carbon and Quicktime.
- Therefore you can build OpenCV as 64-bit library. Thanks to Andre Cohen and Nicolas Butko, which components
-
- Note however that the backend are now in the alpha state, they can crash or leak memory,
- so for anything more serious than quick experiments you may prefer to use Carbon and Quicktime.
- To do that, pass USE_CARBON=ON and USE_QUICKTIME=ON to CMake and build OpenCV in 32-bit mode
- (i.e. select i386 architecture in Xcode).
-
- * Windows. OpenCV can now be built in 64-bit mode with MSVC 2008 and also mingw64.
-
- * Fullscreen has been added (thanks to Yannick Verdie).
- Call cvSetWindowProperty(window_name, CV_WINDOW_FULLSCREEN, 1) to make the particular window
- to fill the whole screen. This feature is not supported in the Cocoa bindings yet.
-
- * gstreamer backend has been improved a lot (thanks to Stefano Fabri)
-
->>> New tests:
-
- - A few dozens of new tests have been written and many existing tests have been extended
- to verify OpenCV correctness thoroughly. As a result, we brought the test coverage from
- rather mediocre numbers to pretty impressive ones (especially for cxcore and cv)!
-
- Module OpenCV 2.0 coverage OpenCV 2.1
- (functions/conditions) (functions/conditions)
- cxcore 65/54 91/73
- cv 52/46 80/68
- ml 66/47 73/52
- highgui 17/3 54/27
- cvaux 0/0 5/12
-
- - Many new regression tests have been written in Python that check both OpenCV and the new-style bindings.
-
- - The test data moved to the separate repository: https://code.ros.org/svn/opencv/trunk/opencv_extra/testdata.
- And it is not included into the package, thus some tests from the cvtest and mltest will report about the missing data.
- You can download the directory to your hard drive and run cvtest like:
- ./cvtest -d /testdata/cv
- ./mltest -d /testdata/ml
-
- - The test engine has been improved:
- added flags -tn, -seed, -r
- the detailed information about failed tests is displayed right in the console.
-
->>> Bug fixes:
-
- - about 200 bugs have been fixed. For the list of closed and still open bugs, please look at
- https://code.ros.org/trac/opencv/report and
- http://sourceforge.net/tracker/?group_id=22870&atid=376677.
-
->>> Known problems/limitations.
-
- - there are some sporadic test failures on different platforms.
- Most probably they are caused by some very special test cases
- (that are usually generated randomly on each test run) and the test cases
- are not properly handled by the functions or by the tests.
- Some of the tests have been reproduced and reported here:
-
- https://code.ros.org/trac/opencv/ticket/29
- https://code.ros.org/trac/opencv/ticket/113
- https://code.ros.org/trac/opencv/ticket/114
-
- - the new Python bindings do not include interface for the new C++ functionality and MLL.
- this is going to be addressed in some special intermediate OpenCV release
-
- - documentation is also incomplete at the moment and there are occasional formatting,
- grammar and semantical errors.
- We continue to improve it on a regular basis. Please, check the up-to-date online
- documentation at:
-
- http://opencv.willowgarage.com/documentation/c/index.html (C)
- http://opencv.willowgarage.com/documentation/cpp/index.html (C++)
- http://opencv.willowgarage.com/documentation/python/index.html (Python)
-
- - please also check the list of open bugs at
- https://code.ros.org/trac/opencv/report and
- http://sourceforge.net/tracker/?group_id=22870&atid=376677.
-
-
-
-
2.0
-(September, 2009)
-
-
->>> New functionality, features:
-
- - General:
- * Installation package on Windows has been fixed,
- MinGW is used for precompiled binaries
- (see the release notes on the SourceForge site)
-
- * autotools-based build has been repaired
-
- - MLL:
- * The new-style class aliases (e.g. cv::SVM ~ CvSVM) and the train/predict methods,
- taking cv::Mat in addition to CvMat, have been added. So now MLL can be used
- more seamlesly with the rest of the restyled OpenCV.
-
->>> Bug fixes:
-
- - A _lot_ of bugs present in 2.0 beta have been fixed, see the OpenCV bug tracker
- http://sourceforge.net/tracker/?group_id=22870&atid=376677
- Thanks to everybody who submitted bug reports and/or patches!
-
-
-
2.0 beta
-(September, 2009)
-
-
->>> New functionality, features: <<<
-
- - General:
- * The brand-new C++ interface for most of OpenCV functionality
- (cxcore, cv, highgui) has been introduced.
- Generally it means that you will need to do less coding to achieve the same results;
- it brings automatic memory management and many other advantages.
- See the C++ Reference section in opencv/doc/opencv.pdf and opencv/include/opencv/*.hpp.
- The previous interface is retained and still supported.
-
- * The source directory structure has been reogranized; now all the external headers are placed
- in the single directory on all platforms.
-
- * The primary build system is CMake, http://www.cmake.org (2.6.x is the preferable version).
- + In Windows package the project files for Visual Studio, makefiles for MSVC,
- Borland C++ or MinGW are note supplied anymore; please, generate them using CMake.
-
- + In MacOSX the users can generate project files for Xcode.
-
- + In Linux and any other platform the users can generate project files for
- cross-platform IDEs, such as Eclipse or Code Blocks,
- or makefiles for building OpenCV from a command line.
-
- * OpenCV repository has been converted to Subversion, hosted at SourceForge:
- http://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary
- where the very latest snapshot is at
- http://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary/trunk,
- and the more or less stable version can be found at
- http://opencvlibrary.svn.sourceforge.net/svnroot/opencvlibrary/tags/latest_tested_snapshot
-
- - CXCORE, CV, CVAUX:
-
- * CXCORE now uses Lapack (CLapack 3.1.1.1 in OpenCV 2.0) in its various linear algebra functions
- (such as solve, invert, SVD, determinant, eigen etc.) and the corresponding old-style functions
- (cvSolve, cvInvert etc.)
-
- * Lots of new feature and object detectors and descriptors have been added
- (there is no documentation on them yet), see cv.hpp and cvaux.hpp:
-
- + FAST - the fast corner detector, submitted by Edward Rosten
-
- + MSER - maximally stable extremal regions, submitted by Liu Liu
-
- + LDetector - fast circle-based feature detector by V. Lepetit (a.k.a. YAPE)
-
- + Fern-based point classifier and the planar object detector -
- based on the works by M. Ozuysal and V. Lepetit
-
- + One-way descriptor - a powerful PCA-based feature descriptor,
- (S. Hinterstoisser, O. Kutter, N. Navab, P. Fua, and V. Lepetit,
- "Real-Time Learning of Accurate Patch Rectification").
- Contributed by Victor Eruhimov
-
- + Spin Images 3D feature descriptor - based on the A. Johnson PhD thesis;
- implemented by Anatoly Baksheev
-
- + Self-similarity features - contributed by Rainer Leinhart
-
- + HOG people and object detector - the reimplementation of Navneet Dalal framework
- (http://pascal.inrialpes.fr/soft/olt/). Currently, only the detection part is ported,
- but it is fully compatible with the original training code.
- See cvaux.hpp and opencv/samples/c/peopledetect.cpp.
-
- + Extended variant of the Haar feature-based object detector - implemented by Maria Dimashova.
- It now supports Haar features and LBPs (local binary patterns);
- other features can be more or less easily added
-
- + Adaptive skin detector and the fuzzy meanshift tracker - contributed by Farhad Dadgostar,
- see cvaux.hpp and opencv/samples/c/adaptiveskindetector.cpp
-
- * The new traincascade application complementing the new-style HAAR+LBP object detector has been added.
- See opencv/apps/traincascade.
-
- * The powerful library for approximate nearest neighbor search FLANN by Marius Muja
- is now shipped with OpenCV, and the OpenCV-style interface to the library
- is included into cxcore. See cxcore.hpp and opencv/samples/c/find_obj.cpp
-
- * The bundle adjustment engine has been contributed by PhaseSpace; see cvaux.hpp
-
- * Added dense optical flow estimation function (based on the paper
- "Two-Frame Motion Estimation Based on Polynomial Expansion" by G. Farnerback).
- See cv::calcOpticalFlowFarneback and the C++ documentation
-
- * Image warping operations (resize, remap, warpAffine, warpPerspective)
- now all support bicubic and Lanczos interpolation.
-
- * Most of the new linear and non-linear filtering operations (filter2D, sepFilter2D, erode, dilate ...)
- support arbitrary border modes and can use the valid image pixels outside of the ROI
- (i.e. the ROIs are not "isolated" anymore), see the C++ documentation.
-
- * The data can now be saved to and loaded from GZIP-compressed XML/YML files, e.g.:
- cvSave("a.xml.gz", my_huge_matrix);
-
- - MLL:
- * Added the Extremely Random Trees that train super-fast,
- comparing to Boosting or Random Trees (by Maria Dimashova).
-
- * The decision tree engine and based on it classes
- (Decision Tree itself, Boost, Random Trees)
- have been reworked and now:
- + they consume much less memory (up to 200% savings)
- + the training can be run in multiple threads (when OpenCV is built with OpenMP support)
- + the boosting classification on numerical variables is especially
- fast because of the specialized low-overhead branch.
-
- * mltest has been added. While far from being complete,
- it contains correctness tests for some of the MLL classes.
-
- - HighGUI:
- * [Linux] The support for stereo cameras (currently Videre only) has been added.
- There is now uniform interface for capturing video from two-, three- ... n-head cameras.
-
- * Images can now be compressed to or decompressed from buffers in the memory,
- see the C++ HighGUI reference manual
-
- - Documentation:
- * The reference manual has been converted from HTML to LaTeX (by James Bowman and Caroline Pantofaru),
- so there is now:
- + opencv.pdf for reading offline
- + and the online up-to-date documentation
- (as the result of LaTeX->Sphinx->HTML conversion) available at
- http://opencv.willowgarage.com/documentation/index.html
-
- - Samples, misc.:
- * Better eye detector has been contributed by Shiqi Yu,
- see opencv/data/haarcascades/*[lefteye|righteye]*.xml
- * sample LBP cascade for the frontal face detection
- has been created by Maria Dimashova,
- see opencv/data/lbpcascades/lbpcascade_frontalface.xml
- * Several high-quality body parts and facial feature detectors
- have been contributed by Modesto Castrillon-Santana,
- see opencv/data/haarcascades/haarcascade_mcs*.xml
-
->>> Optimization:
- * Many of the basic functions and the image processing operations
- (like arithmetic operations, geometric image transformations, filtering etc.)
- have got SSE2 optimization, so they are several times faster.
-
- - The model of IPP support has been changed. Now IPP is supposed to be
- detected by CMake at the configuration stage and linked against OpenCV.
- (In the beta it is not implemented yet though).
-
- * PNG encoder performance improved by factor of 4 by tuning the parameters
-
->>> Bug fixes: <<<
- TBD
- (see http://sourceforge.net/tracker/?group_id=22870&atid=376677 of the list
- of the closed and still opened bugs).
-
- Many thanks to everybody who submitted bug reports and/or provided the patches!
-
->>> Known issues:
- * configure+autotools based build is currently broken.
- Please, use CMake.
- * OpenCV bug tracker at SF still lists about 150 open bugs.
- Some of them may be actually fixed already, and most of the remaining bugs
- are going to be fixed by OpenCV 2.0 gold.
- * IPP is not supported. As the new OpenCV includes a lot of SSE2 code,
- it may be not such a serious problem, though.
- The support (at least for most important functions that do not have
- SSE2 optimization) will be returned in 2.0 gold.
- * The documentation has been updated and improved a lot, but it still
- needs quite a bit of work:
- - some of the new functionality in cvaux is not described yet.
- - the bibliography part is broken
- - there are quite a few known bugs and typos there
- - many of the hyperlinks are not working.
- * The existing tests partly cover the new functionality
- (via the old backward-compatibility OpenCV 1.x API), but the coverage is
- not sufficient of course.
- * The new-style Python interface is not included yet
-
- Many of the problems will be addressed in 2.0 gold.
- If you have found some specific problem, please, put the record to the bug tracker:
- http://sourceforge.net/tracker/?group_id=22870
- Better if the bug reports will include a small code sample in C++/python +
- all the necessary data files needed to reproduce the problem.
-
-
-
1.1pre1
-(October, 2008)
-
-
-
->>> New functionality/features: <<<
-
- - General:
- * Octave bindings have been added. See interfaces/swig/octave (for now, Linux only)
- * [Windows] OpenCV is now built with VS2005 with SSE2 and OpenMP support
- included (if you want to rebuild OpenCV using Express or
- Standard Edition of VS, use _make\opencv.vs2005.no_openmp.sln).
- * [Windows] Python bindings have been updated to use Python 2.6
- * [Windows] cvcam has been removed (as videoInput is now supported by highgui)
-
- - CXCORE, CV, CVAUX:
- * Speeded-up Robust Features (SURF), contributed by Liu Liu.
- see samples/c/find_obj.cpp and the documentation opencvref_cv.htm
- * Many improvements in camera calibration:
- - Added stereo camera calibration: cvStereoCalibrate, cvStereoRectify etc.
- - Single camera calibration now uses Levenberg-Marquardt method and supports
- extra flags to switch on/off optimization of individual camera parameters
- - The optional 3rd radial distortion parameter (k3*r^6) is now supported in
- every calibration-related function
- * 2 stereo correspondence algorithms:
- - very fast block matching method by Kurt Konolige
- (processes the Tsukuba stereo pair in <10ms on Core2Duo laptop)
- - slow but more accurate graph-cut based algorithm by Kolmogorov and Zabin
- * Better homography estimation algorithms (RANSAC and LMEDs)
- * new C++ template image classes contributed by Daniel Filip (Google inc.).
- see opencv/cxcore/include/cvwimage.h
- * Fast approximate nearest neighbor search (by Xavier Delacour)
- * Codebook method for background/foreground segmentation (by Gary Bradski)
- * Sort function (contributed by Shiqi Yu)
- * [OpenCV+IPP] Face Detection (cvHaarDetectObjects) now runs much faster
- (up to 2x faster) when using IPP 5.3 or higher.
- * Much faster (~4x faster) fixed-point variant of cvRemap has been added
-
- - MLL:
- * Python bindings for MLL have been added. There are no samples yet.
-
- - HighGUI:
- * [Windows, 32bit] Added support for videoInput library.
- Hence, cvcam is [almost] not needed anymore
- * [Windows, 32bit] FFMPEG can now be used for video decoding/encoding
- via ffopencv*.dll
- * [Linux] Added unicap support
- * Improved internal video capturing and video encoding APIs
-
- - Documentation:
- * OpenCV book has been published (sold separately :) see docs/index.htm)
-
- - New samples (opencv/samples):
- * Many Octave samples
- * find_obj.cpp (SURF), bgfg_codebook.cpp (Codebook BG/FG segmentation),
- stereo_calib.cpp (Stereo calibration and stereo correspondence)
-
->>> Bug fixes: <<<
- Many thanks to everybody who submitted bug reports and/or provided the patches!
-
- * added dma_unlisten to icvCloseCAM_DC1394 (thanks to Victor Benso)
- * LMEDs algorithm for cvFindFundamentalMat estimation has been fixed
- * Broken debug build of highgui in VS2005/2008 (SF #2056185, SF #1709435)
- * cvFindChessboardCorners memory leak and incorrect size checks
- (SF #1972896, SF #1910323)
- * disabling GTK causes v4l runtime error (SF #2088102)
- * cvsetmousecallback bug (SF #2053529)
- * libhighgui needed deprecated "img_convert" replacement (SF #2011753)
- * Segfault in createsamples caused by uninitialized variable (SF #1977989)
- * Data Alignment Issue in bgfg_gaussmix (SF #1961755)
- * libpng need to be updated (SF #1952793)
- * cvCreateVideoWriter_Win32 - identifier not found (SF #1944254)
- * Bug in cvmorph.cpp (SF #1908844)
- * dilate (cvDilate) works bogus with default kernel (SF #1887130)
- * CvEM non-default constructor declared but not defined (SF #1830346)
- * cvFloodFill (in ver 1.0) Hangs (SF #1790565)
- * double delete in CvImage (SF #1733437)
- * cvFilter2D anchor default value is not working properly (SF #1713779)
- * cvCvtColor - Bug? in converting HSV2RGB (SF #1676344)
- * Invalid selection of the MKL-dll version in cvUseOptimized() (SF #1633017)
- * ...
-
->>> Known issues:
- * Borland compiler is not supported (but might work) in this update.
- * 64-bit Windows is not supported (but might work) in this update.
- * SF bug tracker still contains over 50 records of open bugs.
- Many of them will be addressed in the next update.
-
-
-
1.0
-(October, 2006)
-
-
->>> New functionality/features: <<<
-
- - General:
- * Windows installation package now includes precompiled Python module
- * Borland C++ (v5.6+) makefiles re-added (see _make\make_all_bc.mak)
-
- - CV:
- * Inpainting was added, see samples/c/inpaint.cpp
- (thanks to Alexander Kibkalo and Alexey Kalinichenko)
-
- - MLL:
- * Boosted tree classifiers added, see MLL reference manual
-
- - HighGUI:
- * Jpeg2000 and EXR support in highgui using JasPer and OpenEXR (thanks to Nils Hasler)
- OpenEXR is not built-in to highgui on Windows by default. See
- otherlibs/_graphics/readme.txt.
- * >8-bit image input/output for PNG, Jpeg2000 and OpenEXR (thanks to Nils Hasler)
- * Updated CMUcamera wrapper.
- * Several V4L2 improvements and fixes
-
- - New samples (opencv/samples):
- * Camera calibration sample: calibrate.cpp
- * Inpainting sample: inpaint.cpp
- * Letter recognition using the existing database with
- random trees/boosted trees/neural nets: leter_recog.cpp
- * A few new Python samples.
-
- - Tests:
- * Most old cv tests have been rewritten/converted to use cxts instead of trs.
- TRS is not used by the tests anymore.
-
->>> Bug fixes: <<<
- Many thanks to everybody who submitted bug reports and/or provided the patches!
-
- * Incorrect normalization in cvFindFundamentalMat (SF #1550855)
- * Occasional cvGetQuadrangleSubPix crashes (SF #1549168)
- * Occasional cvCalcOpticalFlowPyrLK crashes
- * Internal GCC 3.x error in cvFloor/cvCeil (SF #1546657)
- * Several Python-related bugs (SF #1570109, SF #1572800, SF #1543593)
- * Bugs in contour processing/rendering (SF #1550889,
- * x86-64 related bugs (SF #1526133, SF #1527997)
- * OpenCV dispatcher tried to load old versions of IPP (pre 4.x)
- that caused many failures (see SF #1555093, for example)
- * Inaccurate results in some cases in cvFitEllipse, cvFitLine, cvHoughCircles.
- * Severe bug in Bayesian classifier, broken regression tree in MLL
- * Overflow in blurring filter
- * cvSaveImage() modified saved images leading to potential problems in threaded apps.
- * Numeric values in XML/YAML were emitted/parsed incorrectly
- on some non-US locales in Linux
- * VS2005 Express/Standard Editions could not build OpenCV
- (due to missing OpenMP support)
- * ...
-
->>> Known issues:
- * Certain tests may fail on IA64 (Itanium), e.g.
- gaussian filter, fundamental matrix estimation, chessboard detector.
-...
-
-
-
diff --git a/doc/index.htm b/doc/index.htm
deleted file mode 100644
index 189cfdf722..0000000000
--- a/doc/index.htm
+++ /dev/null
@@ -1,116 +0,0 @@
-
-
-OpenCV Documentation
-
-
-
-
-
- |
-
-
-Open Source Computer Vision Library
-
- |
-
-
-
-
-
-What is OpenCV
-
-OpenCV means Open Source Computer Vision Library.
-It is a collection of C functions and a few C++ classes that implement
-many popular Image Processing and Computer Vision algorithms.
-
-
-
-
-The official book for OpenCV is published by O'Reilly Press
-Learning OpenCV Computer Vision with the OpenCV Library
-by Gary Bradski and Adrian Kaehler
-
-http://www.amazon.com/Learning-OpenCV-Computer-Vision-Library/dp/0596516134
-
-
-
-This book is:
-
-- A tutorial on computer vision in general
-
- A user's guide to OpenCV
-
- A source of useful working sample code and detailed function descriptions.
-
-
-
-
-The key features
-
-OpenCV provides cross-platform middle-to-high level API that includes
- about 300 functions and a few C++ classes. Also there are
- constantly improving Python bindings to OpenCV, see
- interfaces/swig/python and samples/python.
- OpenCV has no strict dependencies on external libraries,
- though it can use some (such as libjpeg, ffmpeg, GTK+ etc.)
- when it is possible.
-
-OpenCV is free for both non-commercial and commercial use
-(see the license for details).
-
-OpenCV can be built with Intel® Integrated Performance
-Primitives (IPP).
-This makes it fast on all the architectures supported by the library,
-where the optimal code for each host architecture is chosen at runtime.
-
-More information about IPP can be retrieved at
-
-http://www.intel.com/software/products/ipp/index.htm
-
-Then, OpenCV itself can be built with TBB
-support, and, starting with v2.0,
-OpenCV also includes SSE2-optimized code, so many of the functions run significantly
-faster on the modern 32-bit x86 and 64-bit x64 platforms, and even faster on dual-,
-quad- and many-core systems.
-
-
-
-Who created it
-The list of authors and major contributors can be found at
-http://opencv.willowgarage.com/wiki/Contributors.
-
-
-What's New
-See the ChangeLog.
-
-
-Where to get OpenCV
-Go http://www.sourceforge.net/projects/opencvlibrary.
-If it does not work, type "OpenCV" in
-Google (http://www.google.com).
-
-
-How to build it
-See the installation guide: http://opencv.willowgarage.com/wiki/InstallGuide.
-
-
-
-
-
-
-- Visit OpenCV Wiki-pages at
-http://opencv.willowgarage.com/wiki/ and
-look for the information there (and/or add it when you have found a solution)
-
- Search through OpenCV archives at www.yahoogroups.com
-(http://groups.yahoo.com/group/OpenCV/)
-
- Join OpenCV mailing list at yahoo groups (see FAQs on how to do it) and mail your questions
- (the mailing list will probably migrate to
- OpenCV's SourceForge site)
-
- Look at the OpenCV sample code, read the reference manual offline in PDF
- or online (C,
- C++ and
- Python).
-
-
-
-
diff --git a/doc/latex2sphinx/conf.py b/doc/latex2sphinx/conf.py
index f87b2a1f0e..4f9d644973 100644
--- a/doc/latex2sphinx/conf.py
+++ b/doc/latex2sphinx/conf.py
@@ -46,9 +46,9 @@ copyright = u'2010, authors'
# built documents.
#
# The short X.Y version.
-version = '2.1'
+version = '2.2'
# The full version, including alpha/beta/rc tags.
-release = '2.1'
+release = '2.2'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
diff --git a/doc/opencv.pdf b/doc/opencv.pdf
index e1a266d757..ecdc6937f6 100644
Binary files a/doc/opencv.pdf and b/doc/opencv.pdf differ
diff --git a/doc/opencv.tex b/doc/opencv.tex
index cb763bb342..8d7b47be2d 100644
--- a/doc/opencv.tex
+++ b/doc/opencv.tex
@@ -68,8 +68,8 @@ backgroundcolor=\color{shadecolor}
%%%%%%%%%%%%%%%
\title{OpenCV Reference Manual} % used by \maketitle
-\author{v2.1} % used by \maketitle
-\date{March 18, 2010} % used by \maketitle
+\author{v2.2} % used by \maketitle
+\date{December, 2010} % used by \maketitle
\begin{document}
\maketitle % automatic title!
diff --git a/doc/opencv_cheatsheet.pdf b/doc/opencv_cheatsheet.pdf
index ca763b0b83..0bf206121b 100644
Binary files a/doc/opencv_cheatsheet.pdf and b/doc/opencv_cheatsheet.pdf differ
diff --git a/doc/opencv_cheatsheet.tex b/doc/opencv_cheatsheet.tex
index a7482fdf54..b822b4e4ad 100644
--- a/doc/opencv_cheatsheet.tex
+++ b/doc/opencv_cheatsheet.tex
@@ -134,7 +134,7 @@
\setlength{\columnsep}{2pt}
\begin{center}
- \Large{\textbf{OpenCV 2.1 Cheat Sheet (C++)}} \\
+ \Large{\textbf{OpenCV 2.2 Cheat Sheet (C++)}} \\
\end{center}
\newlength{\MyLen}
\settowidth{\MyLen}{\texttt{letterpaper}/\texttt{a4paper} \ }
@@ -153,17 +153,17 @@
\section{Key OpenCV Classes}
\begin{tabular}{@{}p{\the\MyLen}%
@{}p{\linewidth-\the\MyLen}@{}}
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/basic_structures.html\#point}{Point\_}} & Template 2D point class \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/basic_structures.html\#point3}{Point3\_}} & Template 3D point class \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/basic_structures.html\#size}{Size\_}} & Template size (width, height) class \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/basic_structures.html\#vec}{Vec}} & Template short vector class \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/basic_structures.html\#scalar}{Scalar}} & 4-element vector \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/basic_structures.html\#rect}{Rect}} & Rectangle \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/basic_structures.html\#range}{Range}} & Integer value range \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/basic_structures.html\#mat}{Mat}} & 2D dense array (used as both a matrix or an image)\\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/basic_structures.html\#matnd}{MatND}} & Multi-dimensional dense array \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/basic_structures.html\#sparsemat}{SparseMat}} & Multi-dimensional sparse array \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/basic_structures.html\#ptr}{Ptr}} & Template smart pointer class
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html\#point}{Point\_}} & Template 2D point class \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html\#point3}{Point3\_}} & Template 3D point class \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html\#size}{Size\_}} & Template size (width, height) class \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html\#vec}{Vec}} & Template short vector class \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html\#vec}{Matx}} & Template small matrix class \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html\#scalar}{Scalar}} & 4-element vector \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html\#rect}{Rect}} & Rectangle \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html\#range}{Range}} & Integer value range \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html\#mat}{Mat}} & 2D or multi-dimensional dense array (can be used to store matrices, images, histograms, feature descriptors, voxel volumes etc.)\\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html\#sparsemat}{SparseMat}} & Multi-dimensional sparse array \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html\#ptr}{Ptr}} & Template smart pointer class
\end{tabular}
\section{Matrix Basics}
@@ -173,7 +173,7 @@
\> \texttt{Mat image(240, 320, CV\_8UC3);} \\
\textbf{[Re]allocate a pre-declared matrix}\\
-\> \texttt{image.\href{http://opencv.willowgarage.com/documentation/cpp/basic_structures.html\#Mat::create}{create}(480, 640, CV\_8UC3);}\\
+\> \texttt{image.\href{http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html\#Mat::create}{create}(480, 640, CV\_8UC3);}\\
\textbf{Create a matrix initialized with a constant}\\
\> \texttt{Mat A33(3, 3, CV\_32F, Scalar(5));} \\
@@ -189,8 +189,8 @@
\> \texttt{Mat B22 = Mat(2, 2, CV\_32F, B22data).clone();}\\
\textbf{Initialize a random matrix}\\
-\> \texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-randu}{randu}(image, Scalar(0), Scalar(256)); }\textit{// uniform dist}\\
-\> \texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-randn}{randn}(image, Scalar(128), Scalar(10)); }\textit{// Gaussian dist}\\
+\> \texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-randu}{randu}(image, Scalar(0), Scalar(256)); }\textit{// uniform dist}\\
+\> \texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-randn}{randn}(image, Scalar(128), Scalar(10)); }\textit{// Gaussian dist}\\
\textbf{Convert matrix to/from other structures}\\
\>\textbf{(without copying the data)}\\
@@ -230,32 +230,32 @@
\section{Matrix Manipulations: Copying, Shuffling, Part Access}
\begin{tabular}{@{}p{\the\MyLen}%
@{}p{\linewidth-\the\MyLen}@{}}
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/basic_structures.html\#Mat::copyTo}{src.copyTo(dst)}} & Copy matrix to another one \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/basic_structures.html\#Mat::convertTo}{src.convertTo(dst,type,scale,shift)}} & \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Scale and convert to another datatype \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/basic_structures.html\#Mat::clone}{m.clone()}} & Make deep copy of a matrix \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/basic_structures.html\#Mat::reshape}{m.reshape(nch,nrows)}} & Change matrix dimensions and/or number of channels without copying data \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html\#Mat::copyTo}{src.copyTo(dst)}} & Copy matrix to another one \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html\#Mat::convertTo}{src.convertTo(dst,type,scale,shift)}} & \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Scale and convert to another datatype \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html\#Mat::clone}{m.clone()}} & Make deep copy of a matrix \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html\#Mat::reshape}{m.reshape(nch,nrows)}} & Change matrix dimensions and/or number of channels without copying data \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/basic_structures.html\#Mat::row}{m.row(i)}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/basic_structures.html\#Mat::col}{m.col(i)}} & Take a matrix row/column \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html\#Mat::row}{m.row(i)}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html\#Mat::col}{m.col(i)}} & Take a matrix row/column \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/basic_structures.html\#Mat::rowRange}{m.rowRange(Range(i1,i2))}}
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/basic_structures.html\#Mat::colRange}{m.colRange(Range(j1,j2))}} & \ \ \ \ \ \ \ Take a matrix row/column span \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html\#Mat::rowRange}{m.rowRange(Range(i1,i2))}}
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html\#Mat::colRange}{m.colRange(Range(j1,j2))}} & \ \ \ \ \ \ \ Take a matrix row/column span \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/basic_structures.html\#Mat::diag}{m.diag(i)}} & Take a matrix diagonal \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html\#Mat::diag}{m.diag(i)}} & Take a matrix diagonal \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/basic_structures.html\#index-1245}{m(Range(i1,i2),Range(j1,j2)), m(roi)}} & \ \ \ \ \ \ \ \ \ \ \ \ \ Take a submatrix \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html\#index-1245}{m(Range(i1,i2),Range(j1,j2)), m(roi)}} & \ \ \ \ \ \ \ \ \ \ \ \ \ Take a submatrix \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/basic_structures.html\#Mat::repeat}{m.repeat(ny,nx)}} & Make a bigger matrix from a smaller one \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html\#Mat::repeat}{m.repeat(ny,nx)}} & Make a bigger matrix from a smaller one \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-flip}{flip(src,dst,dir)}} & Reverse the order of matrix rows and/or columns \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-flip}{flip(src,dst,dir)}} & Reverse the order of matrix rows and/or columns \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-split}{split(...)}} & Split multi-channel matrix into separate channels \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-split}{split(...)}} & Split multi-channel matrix into separate channels \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-merge}{merge(...)}} & Make a multi-channel matrix out of the separate channels \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-merge}{merge(...)}} & Make a multi-channel matrix out of the separate channels \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-mixchannels}{mixChannels(...)}} & Generalized form of split() and merge() \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-mixchannels}{mixChannels(...)}} & Generalized form of split() and merge() \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-randshuffle}{randShuffle(...)}} & Randomly shuffle matrix elements \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-randshuffle}{randShuffle(...)}} & Randomly shuffle matrix elements \\
\end{tabular}
@@ -278,15 +278,15 @@ other matrix operations, such as
\begin{itemize}
\item
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-add}{add()}}, \texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-subtract}{subtract()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-multiply}{multiply()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-divide}{divide()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-absdiff}{absdiff()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#bitwise-and}{bitwise\_and()}}, \texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#bitwise-or}{bitwise\_or()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#bitwise-xor}{bitwise\_xor()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-max}{max()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-min}{min()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-compare}{compare()}}
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-add}{add()}}, \texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-subtract}{subtract()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-multiply}{multiply()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-divide}{divide()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-absdiff}{absdiff()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#bitwise-and}{bitwise\_and()}}, \texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#bitwise-or}{bitwise\_or()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#bitwise-xor}{bitwise\_xor()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-max}{max()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-min}{min()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-compare}{compare()}}
-- correspondingly, addition, subtraction, element-wise multiplication ... comparison of two matrices or a matrix and a scalar.
@@ -312,49 +312,49 @@ Exa\=mple. \href{http://en.wikipedia.org/wiki/Alpha_compositing}{Alpha compositi
\item
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-sum}{sum()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-mean}{mean()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-mean-stddev}{meanStdDev()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-norm}{norm()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-countnonzero}{countNonZero()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-minmaxloc}{minMaxLoc()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-sum}{sum()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-mean}{mean()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-mean-stddev}{meanStdDev()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-norm}{norm()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-countnonzero}{countNonZero()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-minmaxloc}{minMaxLoc()}},
-- various statistics of matrix elements.
\item
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-exp}{exp()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-log}{log()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-pow}{pow()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-sqrt}{sqrt()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-carttopolar}{cartToPolar()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-polarToCart}{polarToCart()}}
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-exp}{exp()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-log}{log()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-pow}{pow()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-sqrt}{sqrt()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-carttopolar}{cartToPolar()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-polarToCart}{polarToCart()}}
-- the classical math functions.
\item
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-scaleadd}{scaleAdd()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-transpose}{transpose()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-gemm}{gemm()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-invert}{invert()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-solve}{solve()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-determinant}{determinant()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-trace}{trace()}}
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-eigen}{eigen()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-SVD}{SVD}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-scaleadd}{scaleAdd()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-transpose}{transpose()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-gemm}{gemm()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-invert}{invert()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-solve}{solve()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-determinant}{determinant()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-trace}{trace()}}
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-eigen}{eigen()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-SVD}{SVD}},
-- the algebraic functions + SVD class.
\item
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-dft}{dft()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-idft}{idft()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-dct}{dct()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/operations_on_arrays.html\#cv-idct}{idct()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-dft}{dft()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-idft}{idft()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-dct}{dct()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html\#cv-idct}{idct()}},
-- discrete Fourier and cosine transformations
\end{itemize}
-For some operations a more convenient \href{http://opencv.willowgarage.com/documentation/cpp/basic_structures.html#matrix-expressions}{algebraic notation} can be used, for example:
+For some operations a more convenient \href{http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html#matrix-expressions}{algebraic notation} can be used, for example:
\begin{tabbing}
\texttt{Mat}\={} \texttt{delta = (J.t()*J + lambda*}\\
\>\texttt{Mat::eye(J.cols, J.cols, J.type()))}\\
@@ -368,20 +368,20 @@ implements the core of Levenberg-Marquardt optimization algorithm.
\begin{tabular}{@{}p{\the\MyLen}%
@{}p{\linewidth-\the\MyLen}@{}}
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/image_filtering.html\#cv-filter2d}{filter2D()}} & Non-separable linear filter \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_image_filtering.html\#cv-filter2d}{filter2D()}} & Non-separable linear filter \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/image_filtering.html\#cv-sepfilter2d}{sepFilter2D()}} & Separable linear filter \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_image_filtering.html\#cv-sepfilter2d}{sepFilter2D()}} & Separable linear filter \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/image_filtering.html\#cv-blur}{boxFilter()}}, \texttt{\href{http://opencv.willowgarage.com/documentation/cpp/image_filtering.html\#cv-gaussianblur}{GaussianBlur()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/image_filtering.html\#cv-medianblur}{medianBlur()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/image_filtering.html\#cv-bilateralfilter}{bilateralFilter()}}
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_image_filtering.html\#cv-blur}{boxFilter()}}, \texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_image_filtering.html\#cv-gaussianblur}{GaussianBlur()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_image_filtering.html\#cv-medianblur}{medianBlur()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_image_filtering.html\#cv-bilateralfilter}{bilateralFilter()}}
& Smooth the image with one of the linear or non-linear filters \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/image_filtering.html\#cv-sobel}{Sobel()}}, \texttt{\href{http://opencv.willowgarage.com/documentation/cpp/image_filtering.html\#cv-scharr}{Scharr()}}
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_image_filtering.html\#cv-sobel}{Sobel()}}, \texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_image_filtering.html\#cv-scharr}{Scharr()}}
& Compute the spatial image derivatives \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/image_filtering.html\#cv-laplacian}{Laplacian()}} & compute Laplacian: $\Delta I = \frac{\partial ^ 2 I}{\partial x^2} + \frac{\partial ^ 2 I}{\partial y^2}$ \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_image_filtering.html\#cv-laplacian}{Laplacian()}} & compute Laplacian: $\Delta I = \frac{\partial ^ 2 I}{\partial x^2} + \frac{\partial ^ 2 I}{\partial y^2}$ \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/image_filtering.html\#cv-erode}{erode()}}, \texttt{\href{http://opencv.willowgarage.com/documentation/cpp/image_filtering.html\#cv-dilate}{dilate()}} & Erode or dilate the image \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_image_filtering.html\#cv-erode}{erode()}}, \texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_image_filtering.html\#cv-dilate}{dilate()}} & Erode or dilate the image \\
\end{tabular}
@@ -396,17 +396,17 @@ Exa\=mple. Filter image in-place with a 3x3 high-pass kernel\\
\begin{tabular}{@{}p{\the\MyLen}%
@{}p{\linewidth-\the\MyLen}@{}}
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/geometric_image_transformations.html\#cv-resize}{resize()}} & Resize image \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_geometric_image_transformations.html\#cv-resize}{resize()}} & Resize image \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/geometric_image_transformations.html\#cv-getrectsubpix}{getRectSubPix()}} & Extract an image patch \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_geometric_image_transformations.html\#cv-getrectsubpix}{getRectSubPix()}} & Extract an image patch \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/geometric_image_transformations.html\#cv-warpaffine}{warpAffine()}} & Warp image affinely\\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_geometric_image_transformations.html\#cv-warpaffine}{warpAffine()}} & Warp image affinely\\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/geometric_image_transformations.html\#cv-warpperspective}{warpPerspective()}} & Warp image perspectively\\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_geometric_image_transformations.html\#cv-warpperspective}{warpPerspective()}} & Warp image perspectively\\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/geometric_image_transformations.html\#cv-remap}{remap()}} & Generic image warping\\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_geometric_image_transformations.html\#cv-remap}{remap()}} & Generic image warping\\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/geometric_image_transformations.html\#cv-convertmaps}{convertMaps()}} & Optimize maps for a faster remap() execution\\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_geometric_image_transformations.html\#cv-convertmaps}{convertMaps()}} & Optimize maps for a faster remap() execution\\
\end{tabular}
@@ -420,21 +420,21 @@ Example. Decimate image by factor of $\sqrt{2}$:\\
\begin{tabular}{@{}p{\the\MyLen}%
@{}p{\linewidth-\the\MyLen}@{}}
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/miscellaneous_image_transformations.html\#cvtColor}{cvtColor()}} & Convert image from one color space to another \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_miscellaneous_image_transformations.html\#cvtColor}{cvtColor()}} & Convert image from one color space to another \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/miscellaneous_image_transformations.html\#threshold}{threshold()}}, \texttt{\href{http://opencv.willowgarage.com/documentation/cpp/miscellaneous_image_transformations.html\#adaptivethreshold}{adaptivethreshold()}} & Convert grayscale image to binary image using a fixed or a variable threshold \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_miscellaneous_image_transformations.html\#threshold}{threshold()}}, \texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_miscellaneous_image_transformations.html\#adaptivethreshold}{adaptivethreshold()}} & Convert grayscale image to binary image using a fixed or a variable threshold \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/miscellaneous_image_transformations.html\#floodfill}{floodFill()}} & Find a connected component using region growing algorithm\\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_miscellaneous_image_transformations.html\#floodfill}{floodFill()}} & Find a connected component using region growing algorithm\\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/miscellaneous_image_transformations.html\#floodfill}{integral()}} & Compute integral image \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_miscellaneous_image_transformations.html\#floodfill}{integral()}} & Compute integral image \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/miscellaneous_image_transformations.html\#distancetransform}{distanceTransform()}}
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_miscellaneous_image_transformations.html\#distancetransform}{distanceTransform()}}
& build distance map or discrete Voronoi diagram for a binary image. \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/miscellaneous_image_transformations.html\#floodfill}{watershed()}},
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/miscellaneous_image_transformations.html\#grabcut}{grabCut()}}
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_miscellaneous_image_transformations.html\#floodfill}{watershed()}},
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_miscellaneous_image_transformations.html\#grabcut}{grabCut()}}
& marker-based image segmentation algorithms.
- See the samples \texttt{\href{https://code.ros.org/svn/opencv/trunk/opencv/samples/c/watershed.cpp}{watershed.cpp}} and \texttt{\href{https://code.ros.org/svn/opencv/trunk/opencv/samples/c/grabcut.c}{grabcut.cpp}}.
+ See the samples \texttt{\href{https://code.ros.org/svn/opencv/trunk/opencv/samples/cpp/watershed.cpp}{watershed.cpp}} and \texttt{\href{https://code.ros.org/svn/opencv/trunk/opencv/samples/cpp/grabcut.cpp}{grabcut.cpp}}.
\end{tabular}
@@ -443,13 +443,13 @@ Example. Decimate image by factor of $\sqrt{2}$:\\
\begin{tabular}{@{}p{\the\MyLen}%
@{}p{\linewidth-\the\MyLen}@{}}
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/histograms.html\#calchist}{calcHist()}} & Compute image(s) histogram \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_histograms.html\#calchist}{calcHist()}} & Compute image(s) histogram \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/histograms.html\#calcbackproject}{calcBackProject()}} & Back-project the histogram \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_histograms.html\#calcbackproject}{calcBackProject()}} & Back-project the histogram \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/histograms.html\#equalizehist}{equalizeHist()}} & Normalize image brightness and contrast\\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_histograms.html\#equalizehist}{equalizeHist()}} & Normalize image brightness and contrast\\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/histograms.html\#comparehist}{compareHist()}} & Compare two histograms\\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/imgproc_histograms.html\#comparehist}{compareHist()}} & Compare two histograms\\
\end{tabular}
@@ -463,12 +463,12 @@ Example. Compute Hue-Saturation histogram of an image:\\
\end{tabbing}
\subsection{Contours}
-See \texttt{\href{https://code.ros.org/svn/opencv/trunk/opencv/samples/cpp/contours.cpp}{contours.cpp}} and \texttt{\href{https://code.ros.org/svn/opencv/trunk/opencv/samples/c/squares.c}{squares.c}}
+See \texttt{\href{https://code.ros.org/svn/opencv/trunk/opencv/samples/cpp/contours.cpp}{contours.cpp}} and \texttt{\href{https://code.ros.org/svn/opencv/trunk/opencv/samples/cpp/squares.cpp}{squares.cpp}}
samples on what are the contours and how to use them.
\section{Data I/O}
-\href{http://opencv.willowgarage.com/documentation/cpp/xml_yaml_persistence.html\#filestorage}{XML/YAML storages} are collections (possibly nested) of scalar values, structures and heterogeneous lists.
+\href{http://opencv.willowgarage.com/documentation/cpp/core_xml_yaml_persistence.html\#filestorage}{XML/YAML storages} are collections (possibly nested) of scalar values, structures and heterogeneous lists.
\begin{tabbing}
\textbf{Wr}\=\textbf{iting data to YAML (or XML)}\\
@@ -520,9 +520,9 @@ samples on what are the contours and how to use them.
\begin{tabbing}
\textbf{Wr}\=\textbf{iting and reading raster images}\\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/reading_and_writing_images_and_video.html\#cv-imwrite}{imwrite}{imwrite}("myimage.jpg", image);}\\
-\texttt{Mat image\_color\_copy = \href{http://opencv.willowgarage.com/documentation/cpp/reading_and_writing_images_and_video.html\#cv-imread}{imread}("myimage.jpg", 1);}\\
-\texttt{Mat image\_grayscale\_copy = \href{http://opencv.willowgarage.com/documentation/cpp/reading_and_writing_images_and_video.html\#cv-imread}{imread}("myimage.jpg", 0);}\\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/highgui_reading_and_writing_images_and_video.html\#cv-imwrite}{imwrite}{imwrite}("myimage.jpg", image);}\\
+\texttt{Mat image\_color\_copy = \href{http://opencv.willowgarage.com/documentation/cpp/highgui_reading_and_writing_images_and_video.html\#cv-imread}{imread}("myimage.jpg", 1);}\\
+\texttt{Mat image\_grayscale\_copy = \href{http://opencv.willowgarage.com/documentation/cpp/highgui_reading_and_writing_images_and_video.html\#cv-imread}{imread}("myimage.jpg", 0);}\\
\end{tabbing}
\emph{The functions can read/write images in the following formats: \textbf{BMP (.bmp), JPEG (.jpg, .jpeg), TIFF (.tif, .tiff), PNG (.png), PBM/PGM/PPM (.p?m), Sun Raster (.sr), JPEG 2000 (.jp2)}. Every format supports 8-bit, 1- or 3-channel images. Some formats (PNG, JPEG 2000) support 16 bits per channel.}
@@ -543,61 +543,61 @@ samples on what are the contours and how to use them.
\begin{tabular}{@{}p{\the\MyLen}%
@{}p{\linewidth-\the\MyLen}@{}}
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/user_interface.html\#cv-namedwindow}{namedWindow(winname,flags)}} & \ \ \ \ \ \ \ \ \ \ Create named highgui window \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/highgui_user_interface.html\#cv-namedwindow}{namedWindow(winname,flags)}} & \ \ \ \ \ \ \ \ \ \ Create named highgui window \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/user_interface.html\#cv-destroywindow}{destroyWindow(winname)}} & \ \ \ Destroy the specified window \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/highgui_user_interface.html\#cv-destroywindow}{destroyWindow(winname)}} & \ \ \ Destroy the specified window \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/user_interface.html\#cv-imshow}{imshow(winname, mtx)}} & Show image in the window \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/highgui_user_interface.html\#cv-imshow}{imshow(winname, mtx)}} & Show image in the window \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/user_interface.html\#cv-waitKey}{waitKey(delay)}} & Wait for a key press during the specified time interval (or forever). Process events while waiting. \emph{Do not forget to call this function several times a second in your code.} \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/highgui_user_interface.html\#cv-waitKey}{waitKey(delay)}} & Wait for a key press during the specified time interval (or forever). Process events while waiting. \emph{Do not forget to call this function several times a second in your code.} \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/user_interface.html\#cv-createTrackbar}{createTrackbar(...)}} & Add trackbar (slider) to the specified window \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/highgui_user_interface.html\#cv-createTrackbar}{createTrackbar(...)}} & Add trackbar (slider) to the specified window \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/user_interface.html\#cv-setmousecallback}{setMouseCallback(...)}} & \ \ Set the callback on mouse clicks and movements in the specified window \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/highgui_user_interface.html\#cv-setmousecallback}{setMouseCallback(...)}} & \ \ Set the callback on mouse clicks and movements in the specified window \\
\end{tabular}
-See \texttt{\href{https://code.ros.org/svn/opencv/trunk/opencv/samples/c/camshiftdemo.c}{camshiftdemo.c}} and other \href{https://code.ros.org/svn/opencv/trunk/opencv/samples/}{OpenCV samples} on how to use the GUI functions.
+See \texttt{\href{https://code.ros.org/svn/opencv/trunk/opencv/samples/cpp/camshiftdemo.cpp}{camshiftdemo.cpp}} and other \href{https://code.ros.org/svn/opencv/trunk/opencv/samples/}{OpenCV samples} on how to use the GUI functions.
\section{Camera Calibration, Pose Estimation and Depth Estimation}
\begin{tabular}{@{}p{\the\MyLen}%
@{}p{\linewidth-\the\MyLen}@{}}
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/camera_calibration_and_3d_reconstruction.html\#cv-calibratecamera}{calibrateCamera()}} & Calibrate camera from several views of a calibration pattern. \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/calib3d_camera_calibration_and_3d_reconstruction.html\#cv-calibratecamera}{calibrateCamera()}} & Calibrate camera from several views of a calibration pattern. \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/camera_calibration_and_3d_reconstruction.html\#cv-findchessboardcorners}{findChessboardCorners()}} & \ \ \ \ \ \ Find feature points on the checkerboard calibration pattern. \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/calib3d_camera_calibration_and_3d_reconstruction.html\#cv-findchessboardcorners}{findChessboardCorners()}} & \ \ \ \ \ \ Find feature points on the checkerboard calibration pattern. \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/camera_calibration_and_3d_reconstruction.html\#cv-solvepnp}{solvePnP()}} & Find the object pose from the known projections of its feature points. \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/calib3d_camera_calibration_and_3d_reconstruction.html\#cv-solvepnp}{solvePnP()}} & Find the object pose from the known projections of its feature points. \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/camera_calibration_and_3d_reconstruction.html\#cv-stereocalibrate}{stereoCalibrate()}} & Calibrate stereo camera. \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/calib3d_camera_calibration_and_3d_reconstruction.html\#cv-stereocalibrate}{stereoCalibrate()}} & Calibrate stereo camera. \\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/camera_calibration_and_3d_reconstruction.html\#cv-stereorectify}{stereoRectify()}} & Compute the rectification transforms for a calibrated stereo camera.\\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/calib3d_camera_calibration_and_3d_reconstruction.html\#cv-stereorectify}{stereoRectify()}} & Compute the rectification transforms for a calibrated stereo camera.\\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/camera_calibration_and_3d_reconstruction.html\#cv-initundistortrectifymap}{initUndistortRectifyMap()}} & \ \ \ \ \ \ Compute rectification map (for \texttt{remap()}) for each stereo camera head.\\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/calib3d_camera_calibration_and_3d_reconstruction.html\#cv-initundistortrectifymap}{initUndistortRectifyMap()}} & \ \ \ \ \ \ Compute rectification map (for \texttt{remap()}) for each stereo camera head.\\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/camera_calibration_and_3d_reconstruction.html\#cv-StereoBM}{StereoBM}}, \texttt{\href{http://opencv.willowgarage.com/documentation/cpp/camera_calibration_and_3d_reconstruction.html\#cv-StereoSGBM}{StereoSGBM}} & The stereo correspondence engines to be run on rectified stereo pairs.\\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/calib3d_camera_calibration_and_3d_reconstruction.html\#cv-StereoBM}{StereoBM}}, \texttt{\href{http://opencv.willowgarage.com/documentation/cpp/calib3d_camera_calibration_and_3d_reconstruction.html\#cv-StereoSGBM}{StereoSGBM}} & The stereo correspondence engines to be run on rectified stereo pairs.\\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/camera_calibration_and_3d_reconstruction.html\#cv-reprojectimageto3d}{reprojectImageTo3D()}} & Convert disparity map to 3D point cloud.\\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/calib3d_camera_calibration_and_3d_reconstruction.html\#cv-reprojectimageto3d}{reprojectImageTo3D()}} & Convert disparity map to 3D point cloud.\\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/camera_calibration_and_3d_reconstruction.html\#cv-findhomography}{findHomography()}} & Find best-fit perspective transformation between two 2D point sets. \\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/calib3d_camera_calibration_and_3d_reconstruction.html\#cv-findhomography}{findHomography()}} & Find best-fit perspective transformation between two 2D point sets. \\
\end{tabular}
-To calibrate a camera, you can use \texttt{\href{https://code.ros.org/svn/opencv/trunk/opencv/samples/c/calibration.cpp}{calibration.cpp}} or
-\texttt{\href{https://code.ros.org/svn/opencv/trunk/opencv/samples/c/stereo\_calib.cpp}{stereo\_calib.cpp}} samples.
+To calibrate a camera, you can use \texttt{\href{https://code.ros.org/svn/opencv/trunk/opencv/samples/cpp/calibration.cpp}{calibration.cpp}} or
+\texttt{\href{https://code.ros.org/svn/opencv/trunk/opencv/samples/cpp/stereo\_calib.cpp}{stereo\_calib.cpp}} samples.
To get the disparity maps and the point clouds, use
-\texttt{\href{https://code.ros.org/svn/opencv/trunk/opencv/samples/c/stereo\_match.cpp}{stereo\_match.cpp}} sample.
+\texttt{\href{https://code.ros.org/svn/opencv/trunk/opencv/samples/cpp/stereo\_match.cpp}{stereo\_match.cpp}} sample.
\section{Object Detection}
\begin{tabular}{@{}p{\the\MyLen}%
@{}p{\linewidth-\the\MyLen}@{}}
- \texttt{\href{http://opencv.willowgarage.com/documentation/cpp/object_detection.html\#matchTemplate}{matchTemplate}} & Compute proximity map for given template.\\
+ \texttt{\href{http://opencv.willowgarage.com/documentation/cpp/objdetect__object_detection.html\#matchTemplate}{matchTemplate}} & Compute proximity map for given template.\\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/object_detection.html\#CascadeClassifier}{CascadeClassifier}} & Viola's Cascade of Boosted classifiers using Haar or LBP features. Suits for detecting faces, facial features and some other objects without diverse textures. See \texttt{\href{https://code.ros.org/svn/opencv/trunk/opencv/samples/c/facedetect.cpp}{facedetect.cpp}}\\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/objdetect__object_detection.html\#CascadeClassifier}{CascadeClassifier}} & Viola's Cascade of Boosted classifiers using Haar or LBP features. Suits for detecting faces, facial features and some other objects without diverse textures. See \texttt{\href{https://code.ros.org/svn/opencv/trunk/opencv/samples/cpp/facedetect.cpp}{facedetect.cpp}}\\
-\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/object_detection.html\#HOGDescriptor}{HOGDescriptor}} & N. Dalal's object detector using Histogram-of-Oriented-Gradients (HOG) features. Suits for detecting people, cars and other objects with well-defined silhouettes. See \texttt{\href{https://code.ros.org/svn/opencv/trunk/opencv/samples/c/peopledetect.cpp}{peopledetect.cpp}}\\
+\texttt{\href{http://opencv.willowgarage.com/documentation/cpp/objdetect__object_detection.html\#HOGDescriptor}{HOGDescriptor}} & N. Dalal's object detector using Histogram-of-Oriented-Gradients (HOG) features. Suits for detecting people, cars and other objects with well-defined silhouettes. See \texttt{\href{https://code.ros.org/svn/opencv/trunk/opencv/samples/cpp/peopledetect.cpp}{peopledetect.cpp}}\\
\end{tabular}
diff --git a/modules/core/include/opencv2/core/version.hpp b/modules/core/include/opencv2/core/version.hpp
index dfed131cd9..dfd35379e1 100644
--- a/modules/core/include/opencv2/core/version.hpp
+++ b/modules/core/include/opencv2/core/version.hpp
@@ -48,8 +48,8 @@
#define __OPENCV_VERSION_HPP__
#define CV_MAJOR_VERSION 2
-#define CV_MINOR_VERSION 1
-#define CV_SUBMINOR_VERSION 1
+#define CV_MINOR_VERSION 2
+#define CV_SUBMINOR_VERSION 0
#define CVAUX_STR_EXP(__A) #__A
#define CVAUX_STR(__A) CVAUX_STR_EXP(__A)