Welcome to Learn Boof3D tutorial. This tutorial is designed to teach you how to apply lessons learned from text books such as "Multi View Geometry" by Hartley and Zisserman. As the name suggests, you will be using the BoofCV computer vision library, which has one of the more complete and advanced API's for this topic. A heavy emphasis is placed on visualization, empirical testing, and low level implementation details often not mentioned or understated in text.
This tutorial is broken up into lessons. It's recommended that you complete each lesson in order since they will build upon each other. The lessons have several exercises each and a "readme" file which cites recommended reading. The exercises start out as very simple and build up the complexity.
- Lesson 1: Image Formation Pinhole camera
- Lesson 2: Camera Calibration and Removing Lens Distortion
- Lesson 3: Pose Estimation using PNP and Fiducials/Markers
- Lesson 4: (IN PROGRESS) Stereo Vision: Calibrated Cameras
- Lesson 5: (FUTURE) Removing Perspective Distortion
- Lesson 6: (FUTURE) Image Stitching
- Lesson 7: (FUTURE) Visual Odometry
- Lesson 8: (FUTURE) Projective Reconstruction
- Lesson 9: (FUTURE) Self Calibration
- Lesson 10: (FUTURE) 3-View Scene Reconstruction
All the code here will run without modification on Linux, Windows and Mac OS X. IntelliJ is the preferred IDE and everything will load and run just fine inside of it.
Quick Start Instructions:
- Setup your development environment
- Clone the repo locally on your computer
- Open in IntelliJ
- Start Lesson01
If you want to save your work in progress remotely you can fork this project and checkout your fork of it.
Are you a beginner and need help? Checkout the beginner documentation at docs/beginner.md.
Examples and demonstrations included with BoofCV are referenced throughout. You will also need to checkout BoofCV on Github then follow the instructions found in the "Quick Start Examples and Demonstrations" in the readme.md.
Summary:
- Install Git
- Install Java 8
- Install IntelliJ Community Edition
Atlasian has great instructions on their website.
Install the latest version of Java 1.8. In Ubuntu 16.04 the following will install Oracle's JDK. I've had issues with the open source JDK missing encryption keys, which is supposed to be fixed in more recent version of Java. Java 1.8 is the latest long term support. Java 11 will be out soon and is the new long term support and has several new language features.
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
- Access Oracle's website
- Read and accept the license
- Download the Java SE Development Kit (JDK) jdk-8u191-windows-i586.exe or jdk-8u191-windows-x64.exe depending on your Window's architecture (if you don't know which is, download the first one).
- Install the JDK
IntelliJ is recommended. All you need to use if the Community edition which is free. Open "LearnBoof3D" inside of it by clicking File->Open then navigate to where you checked out this project. Select build.gradle. Click OK a couple of times.
- To run any example with a main function, right click it and select run.