Tree [3e7e30] master tested_nightly /

HTTPS access

File Date Author Commit
 QMake 2016-10-26 Charles Galambos Charles Galambos [5f3db2] Clear LD_LIBRARY_PATH before linking, as it see...
 dev 2016-02-11 John Field John Field [3f2dad] Provide default CUDA compute level selection
 doc 2011-06-12 Charles Galambos Charles Galambos [46afe1] Rearrange directory structure to something more...
 src 2 days ago Charles Galambos Charles Galambos [3e7e30] Fix typo.
 .gitignore 2013-04-07 Charles Galambos Charles Galambos [1731e5] Ignore pydev stuff.
 COPYING 2011-10-19 John Field John Field [af28fc] Update {L}GPL licenses
 COPYING.LESSER 2011-10-19 John Field John Field [af28fc] Update {L}GPL licenses
 INSTALL 2014-11-12 John Field John Field [67ac34] Bump revision numbers post AutoTools merge
 INSTALL.ADVANCED 2014-11-12 Bill Christmas Bill Christmas [ad8a6b] Added comment on finding library names
 README 2016-02-29 John Field John Field [a20988] Document USE_SINGLE_Ravl
 config.guess 2011-11-29 John Field John Field [45d513] Move AutoTools support files to root of Git repo
 config.sub 2011-11-29 John Field John Field [45d513] Move AutoTools support files to root of Git repo
 configure 2016-02-01 John Field John Field [ba0130] Consolidate duplicate code 2016-02-01 John Field John Field [ba0130] Consolidate duplicate code 2014-11-26 John Field John Field [b83f16] Missing from dist file
 install-sh 2014-11-21 Charles Galambos Charles Galambos [034b2e] Give executable permissions.

Read Me

                RAVL, Recognition And Vision Library

RAVL provides a base C++ class library, together with a range of computer
vision, pattern recognition classes and supporting tools. The aim of RAVL is
to move software developed within the Centre for Vision, Speech and Signal
Processing at the University of Surrey, England for research purposes into
the public domain and to support its use in a wider community.

Why should you use this library?

+ It has a simple user interface: the user does not have to use pointers or
  deal with heap management. (Java programmers should find the interface
  reasonably familiar.)

+ It has an I/O library that supports a wide range of file formats and
  devices in a consistent manner (including image, video and audio). Type
  conversion between file formats can be handled transparently.

+ It uses reference counting for large objects, making them thread-safe for
  multi-threaded applications

+ It is freely available from SourceForge 

+ It is distributed under the GNU Lesser General Public License

+ It is straightforward to port to any operating system / platform that
  conforms to the Posix standard, has an ANSII C++ compiler and a make
  utility that supports the GNU extensions to that program.

Contributions to the library or suggestions on how it can be improved are
welcome they can be posted via the sourceforge web pages 
( ) or sent directly to me at


Version 1.1 of RAVL introduces the use of the GNU AutoTools for the
installation process. This greatly simplifies the initial configuration of
the environment needed to build RAVL. RAVL can now automatically determine
what external libraries are available on your system and use them as is
appropriate. Please refer to the enclosed INSTALL file for details on
installing RAVL on UNIX and UNIX-like systems.

Revision 1.1 of RAVL also moves to providing all of the class libraries
in a single library file. This greatly simplifies the use of the class library
as there is no longer a need to link with the correct list of multiple 
libraries, just the one RAVL library is needed. To this end, the user may now
employ the build tool of their choice and it is no longer necessary to build
client projects using the QMake utility. The user may configure their build
system either by manually declaring where the RAVL library and header files
have been installed or, if their build tool supports it, by directing it to
use the pkg-config utility which RAVL now supports.

When using QMake to build projects that use RAVL, the new single library will
automatically be used. Regardless of whether or not a SHAREDBUILD=1 build is
being undertaken, QMake will now link to the single, shared library
when building project binaries. It is possible to ask QMake to use the
original "Multi" RAVL libraries (libRavlExtImgIO; libRavlCore; etc.) by using
the setting USE_SINGLE_Ravl=0 on your qm command; e.g.:
         qm USE_SINGLE_Ravl=0 opt

would build an optimised version of your application that was linked against
the RAVL "Multi" libraries, much as for earlier revisions of RAVL. In order to
use the Multi libraries, they must have first been installed. By default only
the single RAVL library is built and installed by the RAVL INSTALL procedure.
To make the Multi libraries available, the installer must additionally perform
the following procedure after the normal INSTALL process:

         make optshared opt
         make installoptsharedlib installopt

this will build and then install the Multi libraries in both shared and static


The RAVL libraries are distributed under the GNU LESSER GENERAL PUBLIC 
LICENSE (LGPL), however some of the tools built with the library have been
issued under the more restrictive GNU GENERAL PUBLIC LICENSE, the headers
attached to each of the files in the project indicate which of these apply.
A copy of each software license is provided for information in the files


RAVL was originally derived from AMMA, written by Radek Marik with help from
many other members of CVSSP. The work of porting AMMA to RAVL was largely
undertaken by Charles Galambos, again with help from other members of CVSSP.
The RavlMath library includes ccmath, written by Daniel A. Atkinson. RAVL is
currently maintained by members of CVSSP and Omniperception.


A full suite of on-line documentation (including an on-line manual and slides
for an introductory presentation) is available from:

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks