This repository hosts my solutions to the problems on the modern c++ for computer vision and image proccessing course made by Cyrill Stachniss and Ignacio Vizzo at the University of Bonn. They own all the credits for the problems formulation and material.
Thanks to them and to the University for posting this material and all the other courses online for free.
DISCLAIMER: I have not run the provided tests (yet).
To work and build the files provided in this repo you need to install the following dependencies:
To easily install alongisde Windows you can follow this tutorial. The clang
compiler should be preinstalled in this distro, however is probably a good idea to run this script to make sure you have the toolchain suggested by Ignacio Vizzo for the homeworks.
I used VScode to work on this repo. To install it and use the suggested extensions and configuration you can follow these instructions by Ignacio Vizzo.
Its a compile dependency for several homeworks. Its neccessary to have the full version of OpenCV to use the sift
feature extractor. To install OpenCV
the same way as I did you can follow these instructions by Ignacio Vizzo.
Its a compile dependency for homework_8
. You can install it using the package manager:
sudo apt install libpng++-dev
Its a compile dependency for homework_3
. You can install it using the package manager:
sudo apt-get install libboost-all-dev
Its a compile dependency for homework_3
. You can install it using the package manager:
sudo apt-get install libfmt-dev
To test this homework follow these instructions:
-
Locate yourself inside the
/homework_2
folder, create a/bin
folder and cd into it; rhen run cmake and build the project. To do all this at once type on a terminal in the main folder:cd homework_2 && mkdir -p bin && cd bin && cmake .. && make && cd ..
-
The executables
./task_a
and./task_b
will be created inside the/bin
folder. You can run them like its stated in the homework description:./bin/task_2 100.txt 200.txt
To test this homework follow these instructions:
-
Locate yourself inside the
/homework_3
folder, create a/bin
folder and cd into it; rhen run cmake and build the project. To do all this at once type on a terminal in the main folder:cd homework_3 && mkdir -p bin && cd bin && cmake .. && make && cd ..
-
The executable
./create_image_browser
will be created inside the/bin
folder. You can run it like its stated in the homework description:./bin/create_image_browser > web_app/test.html && xdg-open web_app/test.html
For the homework_7
a k-means algorithm was implemented in the bow.cpp. It can be seen in action in the image below. Later in homework_9
this was chaged to use the flann
implementation provided by OpenCV
. This increased its execution speed significantly.