Skip to content

Robnocop/parlevision

 
 

Repository files navigation

PARLEVISION

ParleVision is a graphical computer vision pipeline editor. It was based on ideas which came about while designing systems for emergent interaction in which the rapid prototyping of computer vision pipelines played an important role. The source code here is a complete rewrite of its predecessor, also called ParleVision of which examples can be seen at http://hmi.ewi.utwente.nl/showcases/parlevision which was Windows only and not open source. The primary design goals were the ease of use in relation to composing and editing of computer vision pipelines and multi-platform support.

ParleVision is written in C++ and uses the Qt library for the GUI and to abstract away the underlying operating system. It uses the OpenCV library for its computer vision algorithms. While the primary focus in on ease of use and rapid prototyping, the pipeline model can take advantage of modern processors and scales well on multiple cores.

Right now ParleVision is in alpha stage of development. We do not distribute a precompiled version yet. Below are the compilation instructions, beware these are not for the faint of heart and some experience in compiling C/C++ software is recommended.

DEPENDENCIES
ParleVision depends on:
* Qt      >= 4.6    # parlevision-core depends on QtCore and QtXML
                    # parlevision-gui depends on the QtGUI
					(we recommend 4.7.3)
* OpenCV  >= 2.0	(we recommend 2.1)
* Qxt	  >= 0.6    # parlevision-core depends on the Qxt library for advanced logging features

SUPPORTED PLATFORMS
It has been compiled and seen working on Windows XP, Windows Vista, Windows 7, MacOSX 10.6 and Linux (Ubuntu 9.10). However we do NOT give any guarantees that the current source will build or work correctly on any of these platforms.

INSTALLING DEPENDENCIES
1. Download and install the QtSDK from http://qt.nokia.com/downloads. We recommend the latest SDK v1.1 (beta).
2. Install OpenCV. This depends on your OS:
    * Mac OS X - the easiest way is to install through MacPorts
    * Windows - You can get GCC or Visual Studio binaries from http://opencv.willowgarage.com/
                If you want to build using QtCreator, use the GCC/MingW ones.
	We recommend OpenCV 2.1, Parlevision builds with OpenCV 2.2 on MaxOSX but not on Windows.

3. Download, compile and install Qxt from http://dev.libqxt.org/libqxt

QTSDK
- Parlevision has been built and tested using the QtSDK v1.0 and v1.1beta using QtCreator and Mingw in 32-bit.

OPENCV
Unfortunately, OpenCV2.x has some issues in release management.
OpenCV2.0 and 2.1 for MingW do not export all C++ support in precompiled libraries. You will need to recompile OpenCV yourself if you want to build ParleVision with it. You will need to install CMake and follow the build instructions of OpenCV. Unfortunately there are several errors in the build system for OpenCV2.0 and 2.1, one of the libraries bundled with OpenCV will has been compiled in an incompatible fashion and there and there are missing libraries in build files. See https://code.ros.org/trac/opencv/ticket/587 for solutions.

ParleVision does not build with OpenCV2.2 using MingW. The MingW package for Windows misses header files and does not build at all with the current version of ParleVision when those header files are added from the Visual Studio package.

OpenCV camera's support fails on MacOSX. See http://stackoverflow.com/questions/3363637/opencv-2-1-mac-os-x-webcam-issues-32-and-64-bit. Also, there are numurous problems with the MacPorts versions of OpenCV 2.0 and 2.1. However, ParleVision does built with OpenCV2.2.0 on MaxOSX 10.6 using Brew. [to be continued]

LIBQXT
- Follow the build instruction in the documentation. (configure, make, make install)
- Libqxt will add itself to the Qt features directory. In order for correct makefile generation by QMake you need to run Qmake on Parlevision-all.pro after installation of libqxt.

FIXING BUILD ENVIRONMENT
If your libraries are in different locations than the default, you might have to tell the build system where to find them. You can edit common.pri to adjust the default library locations.
                
BUILDING PARLEVISION
Depending on your platform, there are different options for building:

A. Using Qt Creator (all platforms)
Open ParleVision-all.pro in the QtCreator IDE. Choose whether you want to build in Debug or Release mode using the "Build/Run Target Selector" and then select "Build Project 'ParleVision'".

B. Using Make (unix)
...

C. Using XCode
...

D. Using Visual Studio 2010 (required for MS Kinect SDK plugin to work)

This will describe how to compile ParleVision5 with Visual Studio 2010.

Normally we would download already compiled binaries for MSVC2010 from the Qt Nokia website. However binaries for MSVC2010 are not available, so we first need to compile Qt 4.7.x with VS2010. 

Here we will describe a step-by-step guide on how to compile Qt 4.7.x (I used 4.7.3) for MSVC2010 manually. This guide was adapted from http://www.holoborodko.com/pavel/2011/02/01/how-to-compile-qt-4-7-with-visual-studio-2010/

Install MSVC2010. Express will not work since it does not support add-ins which you need for Qt integration, so you need the Professional or Ultimate edition.

Install appropriate software from Qt for Windows Requirements list. These are Perl and the DirectX SDK. You also need the Windows SDK, but this already comes with VS2010.

Download and install the Qt Visual Studio Add-in from the Qt website.

Download and extract Qt 4.7.3 Source Code and move or copy the contents of the folder qt-everywhere-opensource-src-4.7.3 to the directory where you intend to install Qt. In my case this is "C:\Qt\4.7.3" .
    
Set up the environmental variables. You can add these to the environment variables using the Windows GUI or use the "set" command in the command prompt. You would need to call "set" everytime you open a command prompt window, so adding them to the permanent system variables is preferrable.
    QTDIR=C:\Qt\4.7.3
    QMAKESPEC=win32-msvc2010
	.. and update the PATH variable to include %QTDIR%\bin
    
To compile Qt using multiple cores download the latest version of jom from ftp://ftp.qt.nokia.com/jom/. Extract the jom files to C:\Qt\jom folder

Start Visual Studio 2010 Command Prompt: Start > Programs > Microsoft Visual Studio 2010 > Visual Studio Tools > Visual Studio Command Prompt.

Run the following commands in it:
	cd c:\Qt\4.7.3
    configure -debug-and-release -opensource -platform win32-msvc2010
    ..\jom\jom.exe -j 4 (where 4 is the number of threads, use more if you have more hardware cores/threads available)

Install OpenCV. Download the OpenCV source. Do NOT use the OpenCV binaries from their website! They are buggy and incomplete. Compile your own using CMAKE and VS2010.

If you want to use QtCreator: to enable debugging in QtCreator when compiling with VC++ compiler see
http://doc.qt.nokia.com/qtcreator-snapshot/creator-debugger-engines.html

ICONSET
Icons: Symbolize Icon Set, version 1.0
http://dryicons.com/free-icons/preview/symbolize-icons-set/

OPENCV242 PROBLEMS
In oreder to run the parlevision version for opencv242 it is needed to include tbb and for debug tbb_debug in your path or include it manually in your libs dir. The dependency of qxt might also lead to problems, to be sure one could inlcude qxtcore qxtgui and their debug versions (build with configure -debug, followed by make command in the libqxt dir). To run on a computer withour VS installed be sure to include the vcredist package files.

About

Multithreaded Computer Vision Framework

Resources

License

GPL-3.0, LGPL-3.0 licenses found

Licenses found

GPL-3.0
LICENSE.GPL
LGPL-3.0
LICENSE.LGPL

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 97.9%
  • Prolog 1.6%
  • C 0.5%