pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/graphics/opencv
Module Name: pkgsrc
Committed By: wiz
Date: Sun Dec 5 10:01:53 UTC 2010
Modified Files:
pkgsrc/graphics/opencv: Makefile PLIST distinfo
pkgsrc/graphics/opencv/patches: patch-aa patch-ab
Removed Files:
pkgsrc/graphics/opencv/patches: patch-ac
Log Message:
Update to 2.1. Changelog of most insteresting changes:
2.1
(April, 2010)
General Modifications
- 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.
- 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)
Bug Fixes
* - about 200 bugs have been fixed
2.0
(September, 2009)
New functionality, features:
* - General:
* New Python interface officially in.
- 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.
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 reorganized; now all the
external headers are placed in the single directory on all
platforms.
* The primary build system is CMake,
* 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 Leinhar
* 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.
* LBP (Local Binary Pattern) features
* Extended variant of the Haar feature-based object detector -
implemented by Maria Dimashova. It now supports Haar
features and LBPs, other features can be added in the same
way.
* 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.hp
* 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)
* Samples, misc.:
* Better eye detector has been contributed by Shiqi Yu, see
opencv/data/haarcascades/*[lefteye|righteye]*.xml
* sample LBP (Local Binary Pattern) 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
1.1pre1
(October, 2008)
New functionality/features:
* General:
* Octave bindings have been added. See interfaces/swig/octave (for
now, Linux only)
* 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)
To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 pkgsrc/graphics/opencv/Makefile
cvs rdiff -u -r1.3 -r1.4 pkgsrc/graphics/opencv/PLIST
cvs rdiff -u -r1.2 -r1.3 pkgsrc/graphics/opencv/distinfo
cvs rdiff -u -r1.1.1.1 -r1.2 pkgsrc/graphics/opencv/patches/patch-aa
cvs rdiff -u -r1.1 -r1.2 pkgsrc/graphics/opencv/patches/patch-ab
cvs rdiff -u -r1.1 -r0 pkgsrc/graphics/opencv/patches/patch-ac
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index