-
Notifications
You must be signed in to change notification settings - Fork 1
Development environment
The software for the VSA is written in C++ on a Desktop computer running Linux 3.19.0-18-generic #. Ubuntu 15.04 is the environment of choice. The prefered IDE is QT Creator Community edition This is an opensource IDE and available for Linux/Windows/Mac. Version control is done via Github the main project page is VisionSoilAnalyzer - project page. The following page all installed packages by Jelle is a good starting reference. The packages below are the absolute minimum needed to start development.
It is advised to make a clone of your harddisk after the development environment setup is complete. Clonezilla is the recommended tool.
Below is a list of used libraries during and their installation instructions:
-
Common packages
sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev libv4l-dev v4l-utils libqt5multimediawidgets5 clang libboost-all-dev cheese cmake-qt-gui
-
Install Nvidia driver (820M)
sudo apt-get purge nvidia*
sudo add-apt-repository ppa:mamarley/nvidia
sudo apt-get update
sudo apt-get install nvidia-352 nvidia-settings
sudo nvidia-xconfig
sudo apt-get install bumblebee bbswitch-dkms primus
sudo systemctl enable bumblebeed
sudo echo "i915" >> /etc/modules-load.d/modules.conf && sudo echo "bbswitch" >> /etc/modules-load.d/modules.conf
restart the computer
-
Install CUDA
wget http://developer.download.nvidia.com/compute/cuda/7_0/Prod/local_installers/rpmdeb/cuda-repo-ubuntu1410-7-0-local_7.0-28_amd64.deb
sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb
sudo apt-get update
sudo apt-get install cuda
export PATH=/usr/local/cuda-7.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-7.0/lib64:$LD_LIBRARY_PATH
-
OpenCV 3.0 beta
cd ~/\<my_working _directory\>/
git clone https://github.com/Itseez/opencv.git
cd opencv
mkdir release
cd release
cmake-gui
Select the option WITH_QT and press the configure button. Make sure the correct QT directories are found. If not select them yourself.
make -jnumber of processors
sudo make install
-
-
cd
to the directory containing the package's source code and type./configure
to configure the package for your system.
Runningconfigure
takes awhile. While running, it prints some messages telling which features it is checking for. - Type
make
to compile the package. - Optionally, type
make check
to run any self-tests that come with the package. - Type
make install
to install the programs and any data files and documentation. - You can remove the program binaries and object files from the
source code directory by typing
make clean
. To also remove the files that 'configure' created (so you can compile the package for a different kind of computer), typemake distclean
. There is also amake maintainer-clean
target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution.
-
Furthermore it is advised to install the following packages
- cmake
- Clang
- build-essential
- git
- doxygen
- kcachegrind
- v4l-utils
- libv4l-dev
- libgtk2.0-dev
- pkg-config
- libavcodec-dev
- libavformat-dev
- libswscale-dev
- python-dev
- python-numpy
- libtbb2
- libtbb-dev
- libjpeg-dev
- libpng-dev
- libtiff-dev
- libjasper-dev
- libdc1394-22-dev
Testing is done using the QT unit test framework resulst are verified against know results. Which are calculated via Matlab, Mathematica or Python. Benchmarks are done using the QT unit test framework and will test multiple solutions. Solutions that are deemed obsolete by the benchmark results will not be removed but be renamed with a _ in front of the functionname _<FunctionName>. Valgrind is used to determine memomory leakages and function profiles. These function profiles will be the guide which determine the priority of functions to be optimized.
The detailed Doxygen documentation of the current program and libs can be found source documentation. It consists of detailed graphs, the complete source code and the internal structure of the program. This page is generated using Doxygen. This programs grabs user comments and converts them to source code documentation. Documentation [Rules](Doxygen Rules) are to be followed when writing code
Copyright Jelle Spijker 2015 All Rights Reserved