Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11]) by www.NetBSD.org (Postfix) with ESMTP id 7618163BA9C for ; Sun, 5 Dec 2010 10:02:48 +0000 (UTC) Received: by mail.netbsd.org (Postfix, from userid 605) id 51AD719D618; Sun, 5 Dec 2010 10:02:48 +0000 (UTC) Received: from cvs.netbsd.org (cvs.NetBSD.org [IPv6:2001:4f8:3:7:2e0:81ff:fe30:95bd]) by mail.netbsd.org (Postfix) with ESMTP id 6E5F719D614 for ; Sun, 5 Dec 2010 10:01:53 +0000 (UTC) Received: by cvs.netbsd.org (Postfix, from userid 500) id 5ABFD175DD; Sun, 5 Dec 2010 10:01:53 +0000 (UTC) MIME-Version: 1.0 Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" Date: Sun, 5 Dec 2010 10:01:53 +0000 From: "Thomas Klausner" Subject: CVS commit: pkgsrc/graphics/opencv To: pkgsrc-changes@NetBSD.org Reply-To: wiz@netbsd.org X-Mailer: log_accum Message-Id: <20101205100153.5ABFD175DD@cvs.netbsd.org> Sender: pkgsrc-changes-owner@NetBSD.org List-Id: pkgsrc-changes.NetBSD.org Precedence: bulk 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.