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:           Fri Jun  1 20:53:56 UTC 2012

Modified Files:
        pkgsrc/graphics/opencv: Makefile PLIST distinfo
        pkgsrc/graphics/opencv/patches: patch-CMakeLists.txt

Log Message:
Update to 2.4.1. Now builds with clang. Python option
not tested. New ffmpeg support not enabled in package.


June, 2012

The changes since 2.4.0

    The GPU module now supports CUDA 4.1 and CUDA 4.2 and can be
    compiled with CUDA 5.0 preview.

    Added API for storing OpenCV data structures to text string
    and reading them back:

    cv::calcOpticalFlowPyrLK now supports precomputed pyramids as

    Function signatures in documentation are made consistent with
    source code.

    Restored python wrappers for SURF and MSER.

    45 more bugs in our bug tracker have been fixed


May, 2012

The major changes since 2.4 beta

    OpenCV now provides pretty complete build information via
    (surprise) cv::getBuildInformation().

    reading/writing video via ffmpeg finally works and it's now
    available on MacOSX too.
    note 1: we now demand reasonably fresh versions of ffmpeg/libav
    with libswscale included.
    note 2: if possible, do not read or write more than 1 video
    simultaneously (even within a single thread) with ffmpeg 0.7.x
    or earlier versions, since they seem to use some global structures
    that are destroyed by simultaneously executed codecs. Either
    build and install a newer ffmpeg (0.10.x is recommended), or
    serialize your video i/o, or use parallel processes instead of

    MOG2 background subtraction by Zoran Zivkovic was optimized
    using TBB.

    The reference manual has been updated to match OpenCV 2.4.0
    better (though, not perfectly).

    >20 more bugs in our bug tracker have been closed

    Asus Xtion is now properly supported for HighGUI. For now, you
    have to manually specify this device by using
    VideoCapture(CV_CAP_OPENNI_ASUS) instead of

2.4 beta

April, 2012

As usual, we created 2.4 branch in our repository
(, where we will
further stabilize the code. You can check this branch periodically,
before as well as after 2.4 release.

Common changes

    At the age of 12, OpenCV got its own home!
    is now the primary site for OpenCV development and
    (to be launched soon) will be the official OpenCV user site.

    Some of the old functionality from the modules imgproc, video,
    calib3d, features2d, objdetect has been moved to legacy.

    CMake scripts have been substantially modified. Now it's very
    easy to add new modules - just put the directory with include,
    src, doc and test sub-directories to the modules directory,
    create a very simple CMakeLists.txt and your module will be
    built as a part of OpenCV. Also, it's possible to exclude
    certain modules from build (the CMake variables
    "BUILD_opencv_<modulename>" control that).

New functionality

    The new very base cv::Algorithm class has been introduced. It's
    planned to be the base of all the "non-trivial" OpenCV
    functionality. All Algorithm-based classes have the following
        "virtual constructor", i.e. an algorithm instance can be created by 
        there is a list of available algorithms;
        one can retrieve and set algorithm parameters by name;
        one can save algorithm parameters to XML/YAML file and then load them.

    A new ffmpeg wrapper has been created that features multi-threaded
    decoding, more robust video positioning etc. It's used with
    ffmpeg starting with 0.7.x versions.

    features2d API has been cleaned up. There are no more numerous
    classes with duplicated functionality. The base classes
    FeatureDetector and DescriptorExtractor are now derivatives of
    cv::Algorithm. There is also the base Feature2D, using which
    you can detect keypoints and compute the descriptors in a single
    call. This is also more efficient.

    SIFT and SURF have been moved to a separate module named nonfree
    to indicate possible legal issues of using those algorithms in
    user applications. Also, SIFT performance has been substantially
    improved (by factor of 3-4x).

    The current state-of-art textureless detection algorithm,
    Line-Mod by S. Hinterstoisser, has been contributed by Patrick
    Mihelich. See objdetect/objdetect.hpp, class Detector.

    3 face recognition algorithms have been contributed by Philipp
    Wagner. Please, check opencv/contrib/contrib.hpp, FaceRecognizer
    class, and opencv/samples/cpp/facerec_demo.cpp.

    2 algorithms for solving PnP problem have been added. Please,
    check flags parameter in solvePnP and solvePnPRansac functions.

    Enhanced LogPolar implementation (that uses Blind-Spot model)
    has been contributed by Fabio Solari and Manuela Chessa, see
    opencv/contrib/contrib.hpp, LogPolar_* classes and
    opencv/samples/cpp/logpolar_bsm.cpp sample.

    A stub module photo has been created to support a quickly
    growing "computational photography" area. Currently, it only
    contains inpainting algorithm, moved from imgproc, but it's
    planned to add much more functionality.

    Another module videostab (beta version) has been added that
    solves a specific yet very important task of video stabiliion.
    The module is under active development. Please, check
    opencv/samples/cpp/videostab.cpp sample.

    findContours can now find contours on a 32-bit integer image
    of labels (not only on a black-and-white 8-bit image). This is
    a step towards more convenhich results in better edge maps

    Python bindings can now be used within python threads, so one
    can write multi-threaded computer vision applications in Python.

OpenCV on GPU

    Different Optical Flow algorithms have been added:
        Brox (contrtions;
        Improved performance.

    pyrUp/pyrDown implementations.

    Matrix multiplication on GPU (wrapper for the CUBLAS library).
    This is optional, user need to compile OpenCV with CUBLAS

    OpenGL back-end has been implemented for highgui module, that
    allows to display GpuMat directly without downloading them to


    A few OpenCV functions, like color conversion, morphology, data
    type conversions, brute-force feature mer have been optimized
    using TBB and/or SSE intrinisics.

    Along with regression tests, now many OpenCV functions have
    got performance tests. Now for most modules one can build
    opencv_perf_<modulename> executables that run various functions
    from the particular module and produce a XML file. Note that
    if you want to run those tests, as well as the normal regression
    tests, you will need to get (a rather big) directory
    and set environment variable OPENCV_TEST_DATA_PATH to

Bug fixes

    In this version we fixed literally hundreds of bugs. Please,
    check for a
    list of fixed bugs.

Known issues

    When OpenCV is built statically, dynamically created classes
    (via Algorithm::create) can fail because linker excludes the
    "unused" object files. To avoid this problem, create classes
    explicitly, e.g

    1 Ptr<DescriptorExtractor> d = new BriefDescriptorExtractor;

To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 pkgsrc/graphics/opencv/Makefile
cvs rdiff -u -r1.6 -r1.7 pkgsrc/graphics/opencv/PLIST
cvs rdiff -u -r1.10 -r1.11 pkgsrc/graphics/opencv/distinfo
cvs rdiff -u -r1.3 -r1.4 pkgsrc/graphics/opencv/patches/patch-CMakeLists.txt

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