updated docs: grabcut added, PDF updated, ChangeLog: removed duplicated section
This commit is contained in:
parent
e1058f9a13
commit
365e6b7b98
@ -161,191 +161,7 @@ OpenCV 2.1 is basically a stabilized OpenCV 2.0, yet there are a few new feature
|
||||
|
||||
</pre>
|
||||
|
||||
<hr><h2>2.0 beta</h2>
|
||||
<p class="Blurb"><i>(September, 2009)</i></p>
|
||||
|
||||
<pre>
|
||||
>>> 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.
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>2.0</h2>
|
||||
<hr><h2>2.0</h2>
|
||||
<p class="Blurb"><i>(September, 2009)</i></p>
|
||||
|
||||
<pre>
|
||||
|
||||
@ -1205,4 +1205,32 @@ can be found in OpenCV samples directory; see \texttt{watershed.cpp} demo.
|
||||
|
||||
See also: \cvCppCross{findContours}
|
||||
|
||||
\cvCppFunc{grabCut}
|
||||
Runs GrabCut algorithm
|
||||
|
||||
\cvdefCpp{void grabCut(const Mat\& image, Mat\& mask, Rect rect,\par
|
||||
Mat\& bgdModel, Mat\& fgdModel,\par int iterCount, int mode );}
|
||||
\begin{description}
|
||||
\cvarg{image}{The input 8-bit 3-channel image.}
|
||||
\cvarg{mask}{The input/output 8-bit single-channel mask. Its elements may have one of four values. The mask is initialize when \texttt{mode==GC\_INIT\_WITH\_RECT}}
|
||||
\begin{description}
|
||||
\cvarg{GC\_BGD}{Certainly a background pixel}
|
||||
\cvarg{GC\_FGD}{Certainly a foreground (object) pixel}
|
||||
\cvarg{GC\_PR\_BGD}{Likely a background pixel}
|
||||
\cvarg{GC\_PR\_BGD}{Likely a foreground pixel}
|
||||
\end{description}
|
||||
\cvarg{rect}{The ROI containing the segmented object. The pixels outside of the ROI are marked as "certainly a background". The parameter is only used when \texttt{mode==GC\_INIT\_WITH\_RECT}}
|
||||
\cvarg{bgdModel, fgdModel}{Temporary arrays used for segmentation. Do not modify them while you are processing the same image}
|
||||
\cvarg{iterCount}{The number of iterations the algorithm should do before returning the result. Note that the result can be refined with further calls with the \texttt{mode==GC\_INIT\_WITH\_MASK} or \texttt{mode==GC\_EVAL}}
|
||||
\cvarg{mode}{The operation mode}
|
||||
\begin{description}
|
||||
\cvarg{GC\_INIT\_WITH\_RECT}{The function initializes the state and the mask using the provided rectangle. After that it runs \texttt{iterCount} iterations of the algorithm}
|
||||
\cvarg{GC\_INIT\_WITH\_MASK}{The function initializes the state using the provided mask. Note that \texttt{GC\_INIT\_WITH\_RECT} and \texttt{GC\_INIT\_WITH\_MASK} can be combined, then all the pixels outside of the ROI are automatically initialized with \texttt{GC\_BGD}}.
|
||||
\cvarg{GC\_EVAL}{The value means that algorithm should just resume.}
|
||||
\end{description}
|
||||
\end{description}
|
||||
|
||||
The function implements the \href{http://en.wikipedia.org/wiki/GrabCut}{GrabCut} image segmentation algorithm.
|
||||
See the sample grabcut.cpp on how to use the function.
|
||||
|
||||
\fi
|
||||
|
||||
BIN
doc/opencv.pdf
BIN
doc/opencv.pdf
Binary file not shown.
Loading…
Reference in New Issue
Block a user