ACPR 2019 Tutorial: Digital Geometry in Pattern Recognition : Extracting Geometric Features with DGtal and Applications
Slides of the presentation:
- slides first part partie1TutoDG_ACPR19.pdf
- slides second part partie2TutoDG_ACPR19.pdf
Before starting the tutorial you need to have the following dependancies:
- CMake >= 2.6
- Boost >= 1.46 (modules: program_options)
- DGtal
To install DGtal follows theses steps: (more details available on the official site)
-
Clone the current version of DGtal: (or get the archive from a given USB key):
git clone [email protected]:DGtal-team/DGtal.git
-
Then recopy the following command lines:
cd DGtal;
mkdir build; cd build
cmake .. -DBUILD_EXAMPLES=FALSE -DBUILD_TESTING=FALSE
make
-
Alternatively you can use
ccmake
and select in the interface the associated options.
To generate and compile this project you can do:
git clone [email protected]:kerautret/ACPR19-DGPRTutorial.git
cd ACPR19-DGPRTutorial.git; mkdir build; cd build
cmake .. -DDGtal_DIR=/YOUR_DGtalDIR/build
make
If you was use an IDLE like xCode you can add the option to generate an xCode project with: -GXcode
Tuto 1: basic DGTal (see instructions)
The objective of this first exercise is to read an input contour and display it with Board2D
.
You should obtain something like that:
Tuto 2: level set contours (see instructions)
The aim of this exercise is to extract the 2D level sets contours from a gray scale image and an given selected interval.
You should obtain something like that:
Tuto 3: extracting curvature from DCA (see instructions)
In this tutorial exercice, we show a simple curvature extraction defined from the recognition of Digital Circular Arcs.
You should obtain something like that:
Tuto 4: computing Alpha Thick Segment (see instructions)
In this exercise we simply apply the recognition of a maximal Alpha Thick Segment.
You should obtain something like that:
Tuto 5: Tangential Cover (see instructions)
Here we explore the helper functions of the SegmentComputerUtils
class DGtal/geometry/curves/SegmentComputerUtils.h
in order to compute all the maximal AlphaThickSegment covering a given point.
You should obtain something like that:
Tuto 6: Meaningful Thickness (see instructions)
The main objective is to compute the Meaningful Thickness for a given point (a) and then for all the contour points (b).
You should obtain something like that:
(a) | (b) |