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