CVR-Lib latest version v0.00.1

Introduction

The CVR-Lib is an object oriented library with algorithms and data structures frequently used in image processing and computer vision. It had its origins in 1998 at the Chair of Computer Engineering (Lehrstuhl fuer Technische Informatik, LTI) at the RWTH-Aachen University, as part of many research projects in computer vision dealing with robotics, object recognition and sign language and gesture recognition. Then it was known as the LTI-Lib. At the end of 2007 it was renamed into CVR-Lib.

The main goal of the CVR-Lib is to provide an object oriented library in C++, which simplifies the code sharing and maintenance, but still providing fast algorithms that can be used in real world applications.

It has been developed having GNU C++ 4.x under GNU/Linux, and Visual C++ under Windows NT in mind. However, the main support platform is GNU/Linux and GCC. There are some reports of use with GNU/Linux in Macs and some experiments with Solaris, but the library is not mainly maintained for those.

Many classes encapsulate Windows and GNU/Linux functionality in order to simplify dealing with system or hardware specific code (for example classes for multi-threading and synchronization, time measurement and serial port access).

The library mainly deals with the following areas:

Linear algebra

Matrices, vectors, tensors, and functors to extract eigenvalues, eigenvectors, linear equations solutions, statistics, etc. are provided.

Classification and Clustering

Radial Basis Function classifiers, Support Vector Machines, k-Means, Fuzzy C-Means, classification statistics are just some examples of what you can do with the CVR-Lib.

Image Processing and Analysis

The most classes deal with image processing and analysis problems. Different segmentation approaches, linear filters, wavelets, steerable filters, and much more are already available.

Visualization and Drawing Tools

The most difficult part when developing image processing algorithms in C++ is showing temporary images while debugging. Due to the object oriented architecture of the CVR-Lib, you just need to create a viewer object and give it the image you need to show. That's it! An if you additionally need to draw some extra information on that image (some text, ellipses, boxes, lines or points) you can use one of the drawing objects. This will save you lots of time!

Documentation

All code is documented using the great tool Doxygen, and is available on-line here.

Requirements

For Windows you will need at least the MS Visual C++ .NET 2003 (Version .NET 2002 is NOT supported).

For GNU/Linux you will require at least GCC 4.1.

For both platforms you will need PERL, and if you want to use the viewers (and we think you will!), you will also need to have installed the GTK libraries. See also the on-line documentation for more information.

CVR-Lib License

The CVR-Lib is distributed under the so called 3-clause BSD License:

Copyright © 2007-2008, CVR-Lib Developers' Group

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Neither the name of the authors nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Projects using the CVR-Lib

Here is a compilation of projects/companies who use the CVR-Lib or the predecessor LTI-Lib.

Acknowledgments

Thanks go to all contributors:

Suat Akyol, Miguel Angel Aguilar, Pablo Alvarado, Daniel Beier, Axel Berner, Florian Bley, Ulrich Canzler, Peter Doerfler, Thomas Erger, Helmuth Euler, Holger Fillbrandt, Dorothee Finck, Birgit Gehrke Peter Gerber, Claudia Goenner, Xin Gu, Michael Haehnel, Christian Harte, Bastian Ibach, Torsten Kaemper, Thomas Krueger, Frederik Lange, Henning Luepschen, Peter Mathes, Alexandros Matsikis, Ralf Miunske, Bernd Mussmann, Jens Paustenbach, Norman Pfeil, Vlad Popovici, Markus Radermacher, Jens Rietzschel, Daniel Ruijters, Thomas Rusert, Volker Schmirgel, Stefan Syberichs, Guy Wafo Moudhe, Ruediger Weiler, Jochen Wickel , Benjamin Winkler, Xinghan Yu, Marius Wolf, Joerg Zieren


 
12006 hits since [TextCounter Fatal Error: Could Not Increment Counter]
Last Modified: Monday, 21-Sep-2009 03:17:03 UTC
SourceForge Logo