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.

- -
-

OpenCV Book

- -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: -

    -
  1. A tutorial on computer vision in general -
  2. A user's guide to OpenCV -
  3. 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. - -


- -

If you have a problem with installing/running/using OpenCV

- -
    -
  1. 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) -
  2. Search through OpenCV archives at www.yahoogroups.com -(http://groups.yahoo.com/group/OpenCV/) -
  3. 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) -
  4. 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)