ToolTrace ist eine webbasierte Anwendung, die aus einem Foto die maßhaltige Außenkontur eines Werkzeugs ermittelt. Als Referenz dient ein vollständig sichtbarer Hintergrund mit bekannten Abmessungen, beispielsweise eine helle DIN-Fläche oder ein Leuchttisch. Die Anwendung korrigiert die Perspektive, segmentiert das Werkzeug und speichert die erkannte Kontur in Millimeterkoordinaten.
Ziel ist ein nachvollziehbarer Arbeitsablauf vom Werkzeugfoto bis zur bearbeitbaren SVG-Kontur – etwa als Grundlage für Werkzeugeinlagen, Schaumstoffausschnitte, Schablonen oder rasterbasierte Aufbewahrungslösungen.
Aktueller Funktionsumfang
- Registrierung, Anmeldung und persönliche Werkzeugbibliothek
- Werkzeuge mit optionalen Metadaten und Kategorien verwalten
- Bibliothek durchsuchen und nach Bearbeitungsstatus filtern
- sichere JPEG- und PNG-Uploads mit Pillow-Validierung
- bekannte Hintergrundgrößen wie A3, A4 und A5 als Maßreferenz verwenden
- helle Leuchttischflächen auch in unterbelichteten Aufnahmen erkennen
- erkannte Hintergrundfläche perspektivisch entzerren
- Werkzeug mit OpenCV vom hellen Hintergrund segmentieren
- Beleuchtungsunterschiede, Schatten und schmale Werkzeugbereiche berücksichtigen
- Störungen und Randartefakte aus der Maske entfernen
- äußere Werkzeugkontur extrahieren und als Overlay darstellen
- Kontur über die minimale gedrehte Bounding Box automatisch ausrichten
- Kontur manuell anhand zweier gewählter Kantenpunkte ausrichten
- Bounding Box, Fläche und Umfang in Millimeterwerten speichern
- Konturen nicht-destruktiv glätten und vereinfachen
- Bearbeitung bis zur ursprünglichen Konturversion zurücksetzen
- aktive Kontur um einen gewählten Millimeterwert nach außen versetzen
- aktive oder versetzte Kontur als SVG herunterladen
Vom Foto zur Kontur
- Werkzeug anlegen und einen bekannten Maßhintergrund auswählen.
- Foto mit vollständig sichtbarem Hintergrund hochladen.
- Hintergrund erkennen und perspektivisch entzerren lassen.
- Werkzeug segmentieren und die erzeugte Maske prüfen.
- erkannte Außenkontur und Millimetermaße kontrollieren.
- Kontur bei Bedarf manuell ausrichten, glätten oder vereinfachen.
- optional einen Außenversatz für Spiel oder Materialzugabe erzeugen.
- die aktive Kontur als SVG herunterladen.
ToolTrace speichert jede relevante Bearbeitung als neue Konturversion. Die ursprüngliche erkannte Geometrie bleibt dadurch erhalten, während unterschiedliche Ausrichtungen, Glättungen, Vereinfachungen und Versatzwerte ausprobiert werden können.
Anforderungen an das Foto
Die automatische Erkennung funktioniert am zuverlässigsten, wenn genau ein Werkzeug vollständig auf einem gleichmäßigen, kontrastreichen Hintergrund liegt. Hintergrundkanten müssen sichtbar sein, weil ihre bekannten Abmessungen die Umrechnung von Pixeln in Millimeter ermöglichen. Diffuse Beleuchtung und eine möglichst senkrechte Kamera reduzieren Schatten und perspektivische Verzerrung.
Auch bei guter Aufnahme sollten die erzeugte Kontur und ihre Abmessungen vor der Weiterverwendung kontrolliert werden. Bildqualität, Schatten, spiegelnde Oberflächen und sehr schmale Geometrien können das Ergebnis beeinflussen.
Projektstatus
Version 0.5.7 ist ein aktives Entwicklungsprojekt. Der Ablauf von Bild-Upload über Perspektivkorrektur und Konturerkennung bis zur bearbeiteten und versetzten SVG-Kontur ist bereits umgesetzt. Werkzeugverwaltung, Konturversionen und grundlegende Layoutberechnungen sind ebenfalls vorhanden.
Weiter ausgebaut werden sollen insbesondere die Benutzeroberfläche für Layoutauswahl und komplexere Platzierungen. Einfache Helfer für freie Rechtecke und Gridfinity-Rastermaße existieren bereits, bilden aber noch keinen vollständigen Layout-Editor.
Lizenz
Die nicht-kommerzielle Nutzung von ToolTrace steht unter der Creative-Commons-Lizenz CC BY-NC-SA 4.0. Eine kommerzielle Nutzung – beispielsweise in Unternehmen, kostenpflichtigen Produkten, SaaS-Angeboten oder Dienstleistungen – ist nur nach vorheriger schriftlicher Genehmigung zulässig. Die genauen Bedingungen befinden sich in den Lizenzdateien des Repositories.
Technische Grundlage
- Python 3.11 oder neuer und Flask
- SQLAlchemy sowie Flask-Migrate/Alembic für Daten und Migrationen
- Flask-Login für Benutzerkonten und geschützte Werkzeugdaten
- Pillow für sichere Bildvalidierung
- OpenCV und NumPy für Hintergrunderkennung, Entzerrung und Segmentierung
- versionierte Geometriedaten mit Konturpunkten und Messwerten
- pytest für Unit- und Integrationstests
Quellcode, Fotohinweise, Workflow-Dokumentation und Lizenzbedingungen befinden sich im ToolTrace-Repository.