Created as part of a thesis, this application was written in C++ with the OpenCV library. The goal of the tool was to evaluate the possibility of transforming hand-sketched UML Class Diagrams into formal PlantUML models, using image processing techniques in the OpenCV library.
The README here contains instructions on how to build the project using CMake and OpenCV as well as an overview on the various computer vision algorithms used to test the above idea.
Precision and Recall evaluation metrics and Classification results
UML element | Precision | Recall | Qty | TP | FP | FN | ||
---|---|---|---|---|---|---|---|---|
Classes | 0.92 | 0.96 | 232 | 196 | 8 | 16 | ||
Inheritance | 0.92 | 0.92 | 37 | 34 | 3 | 3 | ||
Association | 0.76 | 0.76 | 139 | 105 | 34 | 34 | ||
Total | 0.86 | 0.88 | 388 | 335 | 45 | 53 |
TP = true positives, FP = false positives, FN = false negatives.
Read the full thesis here
Develop the tool using OpenCV’s machine learning and computer vision techniques to achieve the goal.