Setup
Introduction
This document describes my setup as of 6/21/2020. Note that links, procedures, and my setup may change significantly and I may not update this page often.
If this document is outdated, please don’t heasitate to create a new issue.
Table of Contents
My Personal Setup
Windows 11
Below is a list of all software I’m using on a Windows 10 device to build and run the CV projects in this repository. All the software I use right now is free.
- Visual Studio, though Visual Studio Code works as well.
- MSVC as a C++ compiler (integrated with Visual Studio). GCC, G++, and Clang are viable alternatives. MSVC is integrated into Visual Studio.
- CMake is a cross-platform build tool, and is integrated into Visual Studio.
- vcpkg is a library package manager.
- Git is a great version control system, and I use it extensively for other projects. It’s integrated in Visual Studio and VS Code, but I prefer to use the command line or Github Desktop (optional) sometimes when working with version control.
Ubuntu WSL 2
Windows 11 On Windows 11, Mesa graphics drivers should work out of the box, using the native Windows RDP client as a graphics output.
Windows 10 Setting up graphics for WSL on Windows 10 is a bit more convoluted, but instructions can be found here.
After completing these instructions, I needed to allow VcXsrv through the firewall and run the following command in Ubuntu each time I log into a terminal:
export MESA_GL_VERSION_OVERRIDE=4.0
We need to override the GL version because WSL natively supports OpenGL 1.4, but GLAD was generated for version 4.0.
Once this step is complete, you should be able to run glxgears
. (If not, feel free to post an issue here.) Finish installing the project dependencies by following the Ubuntu instructions below:
Ubuntu
Below is a list of all software I’m using on an NVidia Jetson Nano to build and run the same CV in this repository. All the software I use right now is free.
- Visual Studio, though Visual Studio Code works as well.
- GCC and G++ as a C/C++ compiler. MSVC and Clang are viable alternatives.
- CMake is a cross-platform build tool. It can be installed with
apt
, but theapt
version as of 7/13/2020 is much older than the current version, and this project isn’t compatible with theapt
version of CMake yet. - vcpkg is a library package manager. It prefers x64 and x86 architectures because of the CMake and Ninja binaries it installs, but a simple workaround has been found for the Nano’s architecture. See https://github.com/microsoft/vcpkg/issues/10955 and my setup script.
- Git is a great version control system, and I use it extensively for other projects. It’s integrated in Visual Studio and VS Code, but I prefer to use the command line in Ubuntu.
Computer Vision Libraries I Use
- OpenCV is an extensive, fast open-source computer vision library.
It can be installed in many different ways.
I personally use
sudo apt-get install libopencv-dev
to install OpenCV on Ubuntu, butvcpkg
works too. (See “Installing OpenCV viavcpkg
”)
Installing OpenCV via vcpkg
vcpkg is an intuitive, cross-platform library package manager for C and C++, and it takes minimal effort to integrate with Visual Studio, VS Code, and any CMake setup.
If you have vcpkg installed, run the following command (assuming compiling for a modern device with an AMD/Intel CPU):
vcpkg install opencv4:x64-windows
and vcpkg will install the 64-bit x86 version of OpenCV.
If you want to learn more about vcpkg, here are the links that helped me use it: