AutoKey 3D v1.1 verfügbar

Zerstörungsfreie Schlossöffnung, Fragen zu den verschiedenen Werkzeugen und freier Informationsaustausch

Moderatoren: Retak, Crocheteur

englishfire
Philosoph
Philosoph
Beiträge: 274
Registriert: 7. Jan 2009 22:37
Wohnort: Bad Laer

Re: AutoKey 3D v1.1 verfügbar

Beitrag von englishfire »

Danke für den Tipp zum Drucker. Muss ich mir gleich mal anschauen!

Benutzeravatar
distiller
Graf
Graf
Beiträge: 465
Registriert: 28. Aug 2009 17:52

Re: AutoKey 3D v1.1 verfügbar

Beitrag von distiller »

decoder hat geschrieben:Kannst du mir kurz sagen welche Version von OpenSCAD das ist, sowie die Ubuntu Version? Ich vermute OpenSCAD ist zu alt, das lässt sich aber einfach beheben :)
OpenSCAD version 2014.01.29

Danke!

Benutzeravatar
decoder
Poster Gott
Poster Gott
Beiträge: 827
Registriert: 27. Sep 2012 13:46
Kontaktdaten:

Re: AutoKey 3D v1.1 verfügbar

Beitrag von decoder »

distiller hat geschrieben: OpenSCAD version 2014.01.29

Du brauchst mindestens die 2015.03.X version. Schau mal unter http://www.openscad.org/downloads.html

Da findest du auch Anweisungen, wie es mit Ubuntu geht. Ungefähr so:

Code: Alles auswählen

sudo add-apt-repository ppa:openscad/releases
sudo apt-get update
sudo apt-get install openscad
Falls dir add-apt-repository fehlt, kannst du das mit folgendem Befehl beheben

Code: Alles auswählen

sudo apt-get install software-properties-common python-software-properties

Benutzeravatar
decoder
Poster Gott
Poster Gott
Beiträge: 827
Registriert: 27. Sep 2012 13:46
Kontaktdaten:

Re: AutoKey 3D v1.1 verfügbar

Beitrag von decoder »

englishfire hat geschrieben:Bislang benutzt man Gimp und Inkscape um den Profilzug zu extrahieren? Oder gibt es schon bessere Methoden? Deine Software dahingehend zu erweitern wäre top!

Ich habe bereits eine bessere Methode. Wenn du Linux benutzt und mein Betatester sein willst, dann kann ich dir das gerne mal vorab zur Verfügung stellen.

englishfire
Philosoph
Philosoph
Beiträge: 274
Registriert: 7. Jan 2009 22:37
Wohnort: Bad Laer

Re: AutoKey 3D v1.1 verfügbar

Beitrag von englishfire »

@decoder: Sehr gerne!

englishfire
Philosoph
Philosoph
Beiträge: 274
Registriert: 7. Jan 2009 22:37
Wohnort: Bad Laer

Re: AutoKey 3D v1.1 verfügbar

Beitrag von englishfire »

Ich bekomme es unter Windows noch nicht hin.

Code: Alles auswählen

C:\Python27>autokey.py --blank --profile C:\python27\profiles\AB-AB1.svg --definition C:\python27\definitions\AB-C83.scad
Traceback (most recent call last):
  File "C:\Python27\AutoKey.py", line 199, in <module>
    sys.exit(main())
  File "C:\Python27\AutoKey.py", line 143, in main
    subprocess.check_call(["inkscape", "-E", os.path.join(BRAND_DIR, "branding.eps"), os.path.join(BRAND_DIR, "branding.svg"),])
  File "C:\Python27\lib\subprocess.py", line 181, in check_call
    retcode = call(*popenargs, **kwargs)
  File "C:\Python27\lib\subprocess.py", line 168, in call
    return Popen(*popenargs, **kwargs).wait()
  File "C:\Python27\lib\subprocess.py", line 390, in __init__
    errread, errwrite)
  File "C:\Python27\lib\subprocess.py", line 640, in _execute_child
    startupinfo)
WindowsError: [Error 2] Das System kann die angegebene Datei nicht finden

Benutzeravatar
decoder
Poster Gott
Poster Gott
Beiträge: 827
Registriert: 27. Sep 2012 13:46
Kontaktdaten:

Re: AutoKey 3D v1.1 verfügbar

Beitrag von decoder »

englishfire hat geschrieben:Ich bekomme es unter Windows noch nicht hin.
Windows wird auch generell nicht unterstützt. Im Prinzip müsste es dort mit einigen Änderungen gehn, aber alle externen Tools die ich aufrufe, müssten dafür unter Windows verfügbar sein. Bei inkscape wäre das vllt noch möglich, aber ich verwende auch pstoedit für die Konvertierung nach dxf (OpenSCAD kann keine SVGs lesen), und das gibts für Windows (glaube ich), nicht.

Am besten bist du mit einer Ubuntu VM bedient. Falls du es selbst unter Windows gangbar machen willst, müsstest du folgende Änderungen vornehmen:

Alles wo inkscape aufgerufen wird, durch ne Variable ersetzen, die den Pfad zu inkscape.exe enthält. Selbiges für pstoedit (falls es das für Windows gibt). Das neue --isolate Feature (für die semiautomatische Profilextraktion) benötigt außerdem "autotrace" und 2 Pythonmodule, einmal opencv (Version 2) und einmal numpy.

Benutzeravatar
distiller
Graf
Graf
Beiträge: 465
Registriert: 28. Aug 2009 17:52

Re: AutoKey 3D v1.1 verfügbar

Beitrag von distiller »

Vielen Dank, nun klappt es.
Wahnsinn! Richtig easy und ich werde mal versuchen, ein paar C83 zu kopieren…

englishfire
Philosoph
Philosoph
Beiträge: 274
Registriert: 7. Jan 2009 22:37
Wohnort: Bad Laer

Re: AutoKey 3D v1.1 verfügbar

Beitrag von englishfire »

Ich habe es jetzt auch am laufen! :) :respekt:

Benutzeravatar
decoder
Poster Gott
Poster Gott
Beiträge: 827
Registriert: 27. Sep 2012 13:46
Kontaktdaten:

Re: AutoKey 3D v1.1 verfügbar

Beitrag von decoder »

Ich nutze die Gelegenheit dann mal, um eine neue (experimentelle) Funktion vorzustellen, nämlich die Profilisolation. Dazu müsst ihr nur
  • folgende Abhängigkeiten installieren: inkscape, autotrace, python-numpy und python-opencv (cv2)
  • ein gutes Bild des Profils (gute Auflösung, möglichst wenig Rauschen sowie möglichst plane Aufnahme, also exakt gerade auf das Profil ohne Drehung in irgendeine Richtung) entsprechend zuschneiden (siehe unten)
  • Autokey mit den Parametern

    Code: Alles auswählen

     --isolate dein_bild.jpg --profile dein_profil.svg
    starten
Ihr bekommt dann mehrere Fenster:
  • Das Fenster mit den Schiebereglern ist euer Ausgabefenster, d.h. dort seht ihr das jeweilige Ergebnis
  • Das Fenster, welches lediglich euer ursprüngliches Bild zeigt und sonst nichts, ist euer Arbeitsbereich.
Am besten ihr ordnet euch die beiden Fenster nebeneinander an. Dann nehmt ihr den Arbeitsbereich her und beginnt, indem ihr mit der rechten Maustaste ein Quadrat ungefähr um das Profil zieht. Das muss nicht genau sein (siehe unten in der Beispielausgabe). Danach drückt ihr die Taste n mehrmals. Jedes Drücken der Taste n führt eine Iteration eines Segmentierungsalgorithmus durch, das sollte man mehrmals machen bis das Ergebnis ungefähr gleich bleibt. Das Ergebnis seht ihr auch sofort in der Ausgabe, im roten Bereich.

Nun ist das Ergebnis an der Stelle selten 100% richtig, es gibt viele Gründe warum man hier nachhelfen muss, u.a. unterschiedliche Ausleuchtung, Reflexionen und Probleme mit dem ersten (sichtbaren) Pin. Um das Ergebnis nun zu verbessern gibt es zwei Möglichkeiten:
  • Ihr drückt die Taste 0 und markiert mit der linken Maustaste einen Bereich, der nicht zum Profil gehört (also Teil des Schlosskörpers ist)
  • Ihr drückt die Taste 1 und markiert mit der linken Maustaste einen Bereich, der zum Profil gehört (das schließt auch eventuelle Schließelemente ein, die sichtbar sind, aber nicht zum Profil selbst gehören)
Natürlich wendet ihr das auf ggf. falsch erkannte Bereiche an. Dabei müsst ihr nicht alles, was falsch erkannt wurde, genau ausmalen, oft reicht ein einzelner Strich an der Stelle. Nach jedem Schritt könnt ihr mit der Taste n (ggf. mehrmals) das Ergebnis so weiter verfeinern.

Wenn ihr grob zufrieden seid, könnt ihr mit der Taste m das Ergebnis vektorisieren und betrachten (in der Ausgabe ganz rechts).

Ihr könnt alle funktionen (0, 1, n und m) jederzeit wiederholen, d.h. auch nach der Vektorisierung kann man noch bereiche markieren, dann mit n neu iterieren und mit m neu vektorisieren.

Zum Abschließen des Vorgangs drückt ihr die Taste s. Das Profil wird dann wie angegeben gespeichert (aktuell erzeugt das Programm zusätzlich ein Debugbild der Ausgabe).

Es ist gut möglich, dass es hier und da hakt, und auch an Dokumentation und Tests fehlt, da das Feature ganz neu ist. Gibt auch noch jede Menge Raum für Verbesserungen. Bin auf Feedback gespannt.

Hier mal noch eine Beispielausgabe (schwarze und weiße Striche sind 0/1 Markierungen von mir):
grabcut_summary.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Antworten