My Project
Stitching Barrel Surface Images and Correcting Their Brightness

Introduction

This is the documentation for the thesis

There are two .cpp files: test.cpp and pointbase.cpp

test.cpp contains sample use cases of the implemented library

pointbase.cpp is the implemented library

in the camera folder are scripts for dataset capture, method of operation is mentioned below

Prerequisites

OpenCV version: 4.5.2 https://docs.opencv.org/4.x/d7/d9f/tutorial_linux_install.html

C++17 jsoncpp:

sudo apt install libjsoncpp-dev

sudo ln -s /usr/include/jsoncpp/json/ /usr/include/json

Installation

Install using make

Dataset capture

The scripts in the camera folder are used for image capture from BBX-mini

The mode of operation is following:

0. (If you want to stitch images automatically, make the project and run online stitching)

  1. Make sure, that you are connected to bbx-mini and that you have addresses that can ping each other
  2. Copy the contents of camera/raspberry to BBX-mini and make
  3. Edit the addresses in the server and client scripts
  4. Run a GStreamer pipeline on BBX-mini (sample pipeline is in runThisOnRpi.txt)
  5. server.py provides manual stitching with the 'v' button is pressed, server2.py saves the sharpest image each second
  6. run a chosen server.py on your workstation
  7. run the client.py script on bbx-mini (lighting is activated by running /lights/lights - needs to be created by make as in step 2)