Implementation of Very Small Size League Vision Software
Qt5
OpenCV
SFML
TBB
Protobuf
- Build the vss-vision image using the shell script
./docker_build
- 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
- Install the needed dependencies.
./InstallDependencies
- Build via CMake
# From repository root
mkdir build
cd build
cmake ..
make
- Running:
# From repository root
cd src
./VSS-VISION
.
├── 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
- Does all image processing
- Vision (Opencv stuff, segmentation,tracking,blob detection algorithms)
- Src->Vision