diff --git a/doc/annotated.html b/doc/annotated.html new file mode 100644 index 0000000..fefee45 --- /dev/null +++ b/doc/annotated.html @@ -0,0 +1,82 @@ + + +
+ + + + +
+ My Project
+
+ |
+
CComparePoints | Struct necessary for comparison between 2 opencv points - when using std::map ; used to sort points according to X value |
CPointBase | Class implemented as solution for the thesis providing stitching and stitching features |
+ My Project
+
+ |
+
This is the complete list of members for PointBase, including all inherited members.
+cumdump(int imgW, int imgH) | PointBase | inline |
doneVector | PointBase | |
dtBlend(Mat roi, Mat transformedRoi, bool showImg=false) | PointBase | inline |
exposureBlend(Mat roi, Mat transformedRoi, bool showImg=false) (defined in PointBase) | PointBase | inline |
getAdjacents(Point2d inputPoint) | PointBase | inline |
getEdgeValues() | PointBase | inline |
getPath(double x, double y) | PointBase | inline |
imgHeightDeg | PointBase | |
imgWidthDeg | PointBase | |
load(string path) | PointBase | inline |
onlineStitch(int imgW, int imgH, string path) | PointBase | inline |
onlineStitchSIFT(int imgW, int imgH, string path) | PointBase | inline |
pathMap | PointBase | |
patternMatchTry(int imgW, int imgH) | PointBase | inline |
points | PointBase | |
printPoints(int which=0) | PointBase | inline |
pyramidBlend(Mat roi, Mat transformedRoi, bool showImg=false) | PointBase | inline |
rotate(Mat src, double angle) | PointBase | inline |
showPointImg() | PointBase | inline |
stitchImgs() | PointBase | inline |
toDoVector | PointBase |
+ My Project
+
+ |
+
class implemented as solution for the thesis providing stitching and stitching features + More...
++Public Member Functions | |
int | load (string path) |
load the points from a database - necessary for the offline algorithm More... | |
void | printPoints (int which=0) |
prints the points from the database into the terminal More... | |
string | getPath (double x, double y) |
returns the path of a point specified by x and y values More... | |
void | showPointImg () |
shows the location of loaded points on an images More... | |
vector< Point2d > | getAdjacents (Point2d inputPoint) |
DESTRUCTIVE!! - removes found adj. points from points vector, adds them to the toBeDone vector. More... | |
Mat | rotate (Mat src, double angle) |
rotation function https://stackoverflow.com/questions/22041699/rotate-an-image-without-cropping-in-opencv-in-c More... | |
Mat | dtBlend (Mat roi, Mat transformedRoi, bool showImg=false) |
blends using distance transform More... | |
+Mat | exposureBlend (Mat roi, Mat transformedRoi, bool showImg=false) |
Mat | pyramidBlend (Mat roi, Mat transformedRoi, bool showImg=false) |
blends using image pyramids transform More... | |
void | stitchImgs () |
stitches images using opencv pipeline More... | |
std::vector< double > | getEdgeValues () |
gets the values of the top right, left and bottom right left images in pointBase More... | |
void | cumdump (int imgW, int imgH) |
image stitching using SIFT More... | |
void | patternMatchTry (int imgW, int imgH) |
stitches images using pattern matching More... | |
void | onlineStitch (int imgW, int imgH, string path) |
online image stitching using pattern matching More... | |
void | onlineStitchSIFT (int imgW, int imgH, string path) |
online image stitching using SIFT More... | |
+Public Attributes | |
vector< Point2d > | points |
vector< Point2d > | doneVector |
vector< Point2d > | toDoVector |
std::map< Point2d, string, ComparePoints > | pathMap |
double | imgWidthDeg |
double | imgHeightDeg |
class implemented as solution for the thesis providing stitching and stitching features
+
+
|
+ +inline | +
image stitching using SIFT
+saves the source image to the current directory
+imgW | source image width |
imgH | source image height |
+
|
+ +inline | +
blends using distance transform
+roi | original roi with 1 or more stitched images |
transformedRoi | roi-sized! image with the new image in the appropriate location |
showImg | bool, switch to enable showing of the new roi |
+
|
+ +inline | +
DESTRUCTIVE!! - removes found adj. points from points vector, adds them to the toBeDone vector.
+Searches for adjacent points to a given point
+Returns either empty vector, or a vector with the found adjacent points
+inputPoint | - opencv Point2d of the searched point |
+
|
+ +inline | +
gets the values of the top right, left and bottom right left images in pointBase
+
+
|
+ +inline | +
returns the path of a point specified by x and y values
+x | - x-value of the point |
y | - y-value of the point |
+
|
+ +inline | +
load the points from a database - necessary for the offline algorithm
+loaded points in pointbase are sorted according to X value
path | - location where images and their jsons are stored in string format |
+
|
+ +inline | +
online image stitching using pattern matching
+saves the result image to the current directory
+do not load() any database previous to using this function
+imgW | source image width |
imgH | source image height |
path | path to the images |
+
|
+ +inline | +
online image stitching using SIFT
+saves the result image to the current directory
+do not load() any database previous to using this function
+imgW | source image width |
imgH | source image height |
path | path to the images |
+
|
+ +inline | +
stitches images using pattern matching
+saves the source image to the current directory
+imgW | width of the source images |
imgH | height of the source images |
+
|
+ +inline | +
prints the points from the database into the terminal
+which | - if which is 0, the points vector is printed; 1 prints the complete contents of pathMap |
+
|
+ +inline | +
blends using image pyramids transform
+roi | original roi with 1 or more stitched images |
transformedRoi | roi-sized! image with the new image in the appropriate location |
showImg | bool, switch to enable showing of the new roi |
+
|
+ +inline | +
rotation function https://stackoverflow.com/questions/22041699/rotate-an-image-without-cropping-in-opencv-in-c
+src | - input image |
angle | - angle in degrees |
+
|
+ +inline | +
shows the location of loaded points on an images
+useful for debugging
+images have to be loaded using the load() function
+ +
+
|
+ +inline | +
stitches images using opencv pipeline
+points have to be loaded in the pointBase first
+saves the result image in current directory
+ +vector<Point2d> PointBase::doneVector | +
points that have been successfully searched for adjacencies
+
double PointBase::imgHeightDeg | +
image height in sensor format
+ +double PointBase::imgWidthDeg | +
image width in degress taken from file
+ +std::map<Point2d, string, ComparePoints> PointBase::pathMap | +
map for file paths - get the path of a file via pathMap[Point2d(x,y)]
+ +vector<Point2d> PointBase::points | +
all points - points are being removed as adjacencies are found
+ +vector<Point2d> PointBase::toDoVector | +
points yet to be searched for adjacent points
+ +
+ My Project
+
+ |
+
+ My Project
+
+ |
+
pointbase.cpp | |
test.cpp |
+ My Project
+
+ |
+
+ My Project
+
+ |
+
+ My Project
+
+ |
+
+ My Project
+
+ |
+
This page explains how to interpret the graphs that are generated by doxygen.
+Consider the following example:
This will result in the following graph:
+The boxes in the above graph have the following meaning:
+The arrows have the following meaning:
+
+ My Project
+
+ |
+
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
+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 +
Install using make
+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)
+
+ My Project
+
+ |
+
#include "opencv2/highgui.hpp"
#include "opencv2/core.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/imgcodecs.hpp"
#include "opencv2/stitching.hpp"
#include <opencv2/xfeatures2d.hpp>
#include <opencv2/features2d.hpp>
#include "opencv2/calib3d/calib3d.hpp"
#include <opencv2/stitching/detail/exposure_compensate.hpp>
#include <unistd.h>
#include <fstream>
#include <iostream>
#include <json/json.h>
#include <cmath>
#include <algorithm>
#include <map>
#include <typeinfo>
#include <filesystem>
+Classes | |
struct | ComparePoints |
struct necessary for comparison between 2 opencv points - when using std::map ; used to sort points according to X value More... | |
class | PointBase |
class implemented as solution for the thesis providing stitching and stitching features More... | |
+Variables | |
+struct ComparePoints | CP |