PARP Research Group University of Murcia


Download and setup

This page describes how to obtain, configure, compile and (if needed) install the QVision on a computer.

Prior to configuration and compilationm¡, you should install the Qt. Framework for high performance, cross-platform application development (Version 4.0 or later), and the GNU Scientific Library in the computer.

Download

The latest release and older versions can be downloaded from the following url:

http://forja.rediris.es/frs/?group_id=321

Once you have the tar file for QVision, named QVision.<version>.tgz, copy it to your home directory (or a temporary location for compiling), and untar-it using this line:

	# tar xzvf QVision.<version>.tgz

Configuration

You can configure several aspects of the QVision, which will modify the functionallity available in the QVision, its performance, and other features. The functionallity (classes and functions) provided by the QVision is divided in several modules. You can check a full list of these modules in the modules page.

Some of these modules provide functions and/or data types to comunicate with, or make use of, other libraries or applications. The availability of these functions on the QVision will depend on whether the QVision is configured to interoperate with their corresponding libraries or applications.

These optional libraries and applications are:

  • The Intel(R) Integrated Performance Primitives (IPP) contains a set of highly optimized functions, mostly for image processing. These functions use to receive pointers, and image sizes as input parameters, instead of high-level image data structures, so they are not developer-friendly. If the compatibility with the IPP library is enabled in the QVision, the module IPP wrapper functions will provide a large set of wrapper functions that take image and matrix objects as inputs. So, the developer can use most of the IPP functions with the high-level data types of the QVision for images, matrices and Qt containers.

  • The QWT - Qt Widgets for Technical Applications is a library that contains a large set of graphical widgets, very useful for technical applications. The QWT provides plots, scales, sliders, dials, compasses, thermometers, wheels and knobs to control or display values, arrays, or ranges of type double. Most of the QVision GUI widgets are based on widgets from the QWT. The module GUI blocks based on the QWT library groups these QWT-based widgets. The QVision can work without this module, but most of the versatile graphical interface widgets will not be available.

  • The MPlayer is a versatile application for video an image input. It can read from a large set of file formats, input devices and video sources. The module MPlayer based image and video input/output contains functions that use the MPlayer as a back-end application, so the QVision can read image frames in a way almost as versatile as the MPlayer, by using it.

  • The OpenCV is a widely known and used library for computer vision. If the compatibility with the OpenCV is enabled, the QVision image data type (QVImage) will offer conversion operators from and to the OpenCV image data type (IplImage), so including and interoperating with OpenCV code, from QVision code, will be straightforward.

  • The CGAL.. An efficient C++ geometry software library.

  • The CUDA (Compute Unified Device Architecture) is a standard for programming the NVIDIA GPU. The functionallity in the QVision related to CUDA is still under development, and not fully available yet in this release.

The QVision can be compiled using the Intel's C++ Compiler. This generates usually faster code than by using the standard GCC. You should be wary though that the Intel's compiler can't deal with dynamic library linking, so the path for linking configuration should be configured in your system. You should perform some command lines like these, before compilation:

        export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/cc/10.1.008/lib/
        export PATH=$PATH:/opt/intel/cc/10.1.008/bin/
        source iccvars.sh 
Also, you must include the Intel's IPP and QVision library binary files paths in the LD_LIBRARY_PATH variable:
        export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<install path for Intel's IPP>/sharedlib/
        export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<install path to QVision>/lib
For example:
        export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/ipp/5.3/ia32/sharedlib/
        export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/QVision.0.2.1/lib
Requires the ICC.

To configure these libraries, modules, and options for the compilation of the QVision, you must create a config.pri file in the root directory of the QVision. An example config file is included with the distribution, named config.pri.example. It is recomended to copy or rename this file to config.pri, and tune/modify it with a text editor to fit your programming needs. Read carefully the instructions contained in that file about how to tune each feature, and include each module.

Compilation and install

Compile the library using the following commands inside the QVision directory:

	# qmake-qt4
	# make

You can optionally install the QVision anywhere in the system. This will copy the library source and binary files in the directory specified in the config.pri file, inside the variable INSTALL_PATH. If that route is in your home directory, or any place where you have permissions to write, you should simply do the following:

	# make install

Otherwise, you should use sudo console command, to copy the files as the super-user:

	# sudo make install

If you need to uninstall the library, simply compile again, and use the following line:

	# sudo make uninstall

This will erase QVision's library files from the directory where you installed it previously.

Addendum: Installing the third party libraries and applications at an Ubuntu system

If you are planning to install QVision on a Ubuntu, Debian or any other distribution with a similar package management, you can directly install the following packages for the Qt and the GSL libraries:
  • Packages for Qt library: g++, libqt4-core, libqt4-debug, libqt4-dev, libqt4-gui, libqt4-qt3support, libqt3-compat-headers, qt4-designer, qt4-dev-tools and qt4-doc.
    Version 4.3.2-0ubuntu3.1 of these packages was tested and works correctly for current version of QVision.
  • Packages for GSL: libgsl0 and libgsl0-dev.
    Version 1.9-3 for the GSL library was tested and worked correctly for current version of QVision.

If you want to interoperate with other libraries, you can install the following packages:

  • Packages for Intel's IPP: unfortunately there are no deb packages available in the ubuntu repositories for that library. A free non-commercial version is available for Linux platforms. You can download it from Intel's IPP homepage. Version 5.3 of this library was tested and worked correctly for current version of QVision.
  • Packages for MPlayer: mencoder and mplayer.
    Version 2:1.0 was tested and worked correctly for current version of QVision.
  • Packages for QWT library: libqwt5-qt4 and libqwt5-qt4-dev.
    Version 5.0.1-2 of these packages was tested and worked correctly for current version of QVision.
  • Packages for the OpenCV: libcv1, libcvaux1, libcvaux-dev, libcv-dev, libhighgui1, libhighgui-dev and opencv-doc.
  • Packages for the CGAL: libcgal2, libcgal-dev and libcgal-demo.

Using apt-get, these packages can be installed from the command line with the following commands:

# Packages required for the basic installation
sudo apt-get install g++ libqt4-core libqt4-debug libqt4-dev libqt4-gui libqt4-qt3support libqt3-compat-headers qt4-designer qt4-dev-tools qt4-doc libgsl0 libgsl0-dev g++
# Packages for the MPlayer back-end application
sudo apt-get install mencoder mplayer
# Packages for the QWT library
sudo apt-get install libqwt5-qt4 libqwt5-qt4-dev
# Packages for the OpenCV library
sudo apt-get install libcv1 libcvaux1 libcvaux-dev libcv-dev libhighgui1 libhighgui-dev opencv-doc
# Packages for the CGAL
sudo apt-get install libcgal2 libcgal-dev libcgal-demo




QVision framework. PARP research group. Copyright © 2007, 2008, 2009, 2010.