/vss-vision

🎥 VSS vision software

Primary LanguageC++

Git RoboCIn - Very Small Size League Vision Software


Content of this repository:

Implementation of Very Small Size League Vision Software

Dependecies

Qt5
OpenCV
SFML
TBB
Protobuf

Running with docker

  1. Build the vss-vision image using the shell script
./docker_build
  1. Running from the docker image using the shell script
./docker_run [camera device id]

The camera device id should be the id found on /dev/video{id} of the camera which you want to use on vss-vision, if none is given, the image will run without a camera device attached. The configuration files are stored on a docker volume named vss-vision-config, so the config files should persist over docker runs

Building (Ubuntu 22.04 LTS)

  1. Install the needed dependencies.
./InstallDependencies
  1. Build via CMake
# From repository root
mkdir build
cd build
cmake ..
make
  1. Running:
# From repository root
cd src
./VSS-VISION

Repository Tree

.
├── include
│   └── spdlog
└── src
    ├── cameraconfigurationdialog.cpp
    ├── CameraManager
    │   ├── CameraManager.cpp
    │   └── CameraThread.cpp
    ├── Config
    │   └── Segmentation
    ├── Entity
    │   └── Entity.cpp
    ├── fieldpointscalibratedialog.cpp
    ├── iconTools
    ├── Images
    ├── Log
    │   ├── general
    │   ├── others
    │   └── vision
    ├── Logging
    │   └── logging.cpp
    ├── maggicsegmentationdialog.cpp
    ├── main.cpp
    ├── mainwindow.cpp
    ├── qrc_icontools.cpp
    ├── qrc_image.cpp
    ├── segmentationconfigdialog.cpp
    ├── TBBThreadManager.cpp
    ├── Timer
    │   └── Timer.cpp
    ├── trackconfigdialog.cpp
    ├── Utils
    │   ├── Constants.cpp
    │   └── Utils.cpp
    ├── Vision
    │   ├── ColorSpace.cpp
    │   ├── ImageProcessing
    │   │   ├── Cuda
    │   │   │   └── LUT
    │   │   ├── ImageProcessing.cpp
    │   │   ├── LUTSegmentation.cpp
    │   │   ├── MaggicSegmentation.cpp
    │   │   ├── OpenCV
    │   │   │   └── connectedcomponents.cpp
    │   │   └── WarpCorrection.cpp
    │   ├── PositionProcessing
    │   │   ├── BlobDetection.cpp
    │   │   ├── PositionProcessing.cpp
    │   │   ├── runlengthencoding.cpp
    │   │   └── WhereAreThose.cpp
    │   └── Vision.cpp
    ├── visionconfigdialog.cpp
    └── visionthread.cpp

  • Vision
    • Does all image processing
      • Segmentation
      • Tracking
      • Blob detection

  • Vision (Opencv stuff, segmentation,tracking,blob detection algorithms)
    • Src->Vision