Forum: PC-Programmierung Handskizze digitalisieren


von Luky S. (luky)


Angehängte Dateien:

Lesenswert?

Kennt wer eine Möglichkeit, um eine simple Handskizze (z.b. wie hier im 
Bild) in eine maschinenlesbare Form zu bringen? Die Skizze ist natürlich 
nicht masstabsgetreu, aber gewisse Anforderungen an Zeichnungssysmbole 
(Bemaßungen, Winkel etc.) könnte man schon stellen.
Ich bin erstmal nur bei der Ideenfindung und Machbarkeitsabschätzung, 
daher bin ich auch offen für alle Vorschläge und Ideen. Am Ende soll 
(natürlich nur wenn die Skizze vollständig ist) automatisch die Länge 
der Kanten und die Fläche berechnet werden können und eine saubere 
Grafik (DXF o.Ä) vorliegen.

von J. S. (jojos)


Lesenswert?

So eine einfache Skizze hat man im CAD in ca. 1 Minute nachgezeichnet, 
was will man da automatisieren?

von Udo S. (urschmitt)


Lesenswert?

Auf die Sauklaue muss man eine KI trainieren

SCNR

von Luky S. (luky)


Lesenswert?

CAD kann nicht jeder... Aber darum gehts auch nciht, sondern ob sowas 
prinzipiell (und wenn ja wie) möglich wäre.
Die Skizzen können auch komplexer sein.

von Oliver S. (oliverso)


Lesenswert?

Luky S. schrieb:
> Ich bin erstmal nur bei der Ideenfindung und Machbarkeitsabschätzung,
> daher bin ich auch offen für alle Vorschläge und Ideen.

Du hast dich schon durch den Apple oder google Store geklickt, und 
geschaut, wie die dort verfügbaren Zeichenapps das Problem so angehen.

[ ] Nein
[ ] Nein

Oliver

von Peter D. (peda)


Lesenswert?

Irgendein CAD-Tool.
Ich nehme z.B. Altium, die Bemaßung wird bei Änderungen automatisch 
aktualisiert. Altium  kann STEP importieren und exportieren.

Es gibt auch einfache Malprogramme, aber die können eben nur malen.

von Luky S. (luky)


Lesenswert?

Ich will keine App runterladen oder Altium verwenden - Die Frage ist, 
wie man sowas programmieren würde

von ●DesIntegrator ●. (Firma: FULL PALATINSK) (desinfector) Benutzerseite


Lesenswert?

wenn man Pfeile und Werte mit 'ner anderen Farbe
als das Werkstück erstellt wird das ganze übersichtlich
und dann würde mir das Bild als "Bauplan" reichen

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Luky S. schrieb:
> Ich will keine App runterladen oder Altium verwenden - Die Frage
> ist,
> wie man sowas programmieren würde

Vielleicht in Logo (Turtle Graphics) oder Postscript?

Gruss
WK

von Udo S. (urschmitt)


Lesenswert?

Luky S. schrieb:
> Ich will keine App runterladen oder Altium verwenden - Die Frage ist,
> wie man sowas programmieren würde

Ähnlich wie eine OCR. Und mindestens genauso aufwändig.
Also nix was man mal schnell in ein paar Stunden zusammennagelt, sondern 
ein Projekt mit einigen (vielen) Mannjahren.

von Daniel A. (daniel-a)


Lesenswert?

Das könnte schwer werden, kann ich dir so auch nicht sagen. Aber ein 
paar Sachen, die eventuell von nutzen sein könnten:
* Randerkennung, Sobel: https://de.wikipedia.org/wiki/Sobel-Operator
* Kontrast erhöhen / Farbtiefe reduzieren. Ein extremes Beispiel wäre 
alles über einem Schwellwert eine Farbe zu geben, und alles darunter 
eine andere.
* Bild nach Frequenzen aufspalten. Viele kleine Dinge haben ne hohe 
Frequenz, wenige grosse ne niedrige. 
https://sites.cc.gatech.edu/classes/AY2016/cs4476_fall/results/proj1/html/cpolack6/index.html
* Gauss: https://en.wikipedia.org/wiki/Gaussian_blur

von Motopick (motopick)


Lesenswert?

Zum CorelDraw gehoert auch ein CorelTrace.
Das kann so "Schmierkram" in Vektoren dickethalisieren.

Aber will Mann das wirklich?

Wenn ich eine Skizze fuer den $KUNDEN zeichne, dann ja mit dem
Ziel, dass sich die Technik/Werkstatt des $KUNDEN der Sache annimmt.
Deswegen steht da auch immer ein: "Not to be scaled."
Was heisst, dass aus der Skizze keine Masze gezogen werden sollen.
Ausser den explizit angebebenen. Weil die dafuer sorgen dass
es passt.

Wenn du das fuer dich selbst haben willst, waere der Vorschlag
dass per CAD "nachzuzeichnen", wohl der aussichtsreichste.
Ersatzweise vielleicht AutoSketch. :)
Das kann immerhin DXF exportieren.

von Frank K. (fchk)


Lesenswert?

Luky S. schrieb:
> Ich will keine App runterladen oder Altium verwenden - Die Frage ist,
> wie man sowas programmieren würde

Lies das:
https://www.amazon.de/dp/3540210296/

Beim Autoren hatte ich die zugehörige Vorlesungen gehabt.

fchk

von Joachim B. (jar)


Lesenswert?


von Simon (simonberlin)


Lesenswert?

Ich kann zwar technisch zeichnen aber eine unterwegs nicht am Rechner 
gemachte Zeichnung einfach einzuscannen hat mich auch interessiert. Mit 
der weiterentwicklung im maschinellen Lernen "KI" könnte da doch 
inzwischen schon was gehen?

Die Suchbegriffe wären:
cad ocr handskizze

Hier ein Treffer zur weiteren Recherche:
https://de.werk24.io/blog/beyond-ocr-using-ai-to-understand-complex-technical-drawings

von Ingo W. (uebrig) Benutzerseite


Angehängte Dateien:

Lesenswert?

Motopick schrieb:
> Zum CorelDraw gehoert auch ein CorelTrace.
> Das kann so "Schmierkram" in Vektoren dickethalisieren.

Vektorisieren kann Inkscape auch. Der Anhang ist ein Schuss ins Blaue.

von Wendels B. (wendelsberg)


Lesenswert?

Hmm, da muesstest Du dem Digitalisierungstool auch noch das Lesen der 
Zahlen beibringen, immerhin ist die Kante oben 20x so lang wie die 
links.

Das wird wirklich kompliziert.

von Gunther M. (gunther_m)


Lesenswert?

Ich werfe mal 3dfindit.com und da die 2d-sketch-Funktion in den Raum.
Könnte das für gewisse Anwendungen helfen?

Gruß
Gunther

von Cha-woma M. (Firma: --------------) (cha-ar-196)


Lesenswert?

Udo S. schrieb:
> Auf die Sauklaue muss man eine KI trainieren
>
> SCNR

.... und dann müßte die KI noch grunzen können.
Sonst ist das nicht autentisch!

von Xanthippos (xanthippos)


Lesenswert?

Die Lage ist schlimmer als die Pisa Studie vermuten lässt.

Vor 50 Jahren konnte ein Kind so etwas in ein paar Tagen programmieren. 
Heute brauchen wir eine künstliche Intelligenz. GPU mit 1000 Kernen, 
Megabytes an Python Modulen und Gigabytes an Tensoren.

http://www.youtube.com/watch?v=p2LZLYcu_JY&t=2365s

von Luky S. (luky)


Lesenswert?

Wies ausschaut liegt das Problem vor allem in der Bemaßung.
Also einen Schritt zurück: Wie würde man die per Hand ohne Lineal 
gezeichneten Linien "einfach" in eine Vektorgrafik in eine .net/C# 
bekommen, nachdem amn die Skizze z.B. vor eine Webcam (ja, die gibt es 
noch ;-) ) gehalten hat? KI ist da wohl nicht nötig, OpenCV sollte 
genügen, da hab ich mal vor sehr langer Zeit dinge damit gemacht.

von Udo S. (urschmitt)


Lesenswert?

Xanthippos schrieb:
> http://www.youtube.com/watch?v=p2LZLYcu_JY&t=2365s

Du hättest das sehr wahrscheinlich auch mit 1000 Kernen und modernen 
IDEs nicht hinbekommen.
Da du noch nicht mal die Frage des TOs auch nur ansatzweise verstanden 
hast
:-)))

von Dieterich (einermehr)


Lesenswert?

Hallo

Xanthippos schrieb:
> Vor 50 Jahren konnte ein Kind so etwas in ein paar Tagen programmieren.

Der Jugendliche (also schonmal kein Kind...) konnte das nach einigen 
Monaten und nicht Tagen (eigene Quelle, wahrscheinlich sogar bewusst, 
dami die Botschaft "stimmt", nicht richtig zitiert) "programmieren".

Das Programmieren wird sich bestimmt aber auf Niveau von Basic bewegt 
haben, kein C oder gar Assembler direkt am Prozessor und der 
Grafikkarte....

Also mehr ein Anwenden von einigen fertigen Befehlen
einer"Schülerprogrammiersprache".

Und auch schon vor 50 Jahren war TV gescriptet - sprich es wurde nicht 
direkt gelogen (wie auch heute nicht!), aber ausgewählt, vereinfacht, 
weggelassen und redaktionell bearbeitet.
Bei solchen "Nerd" Sendungen (bei uns der Computerclub des WDR) hatten 
auch die Moderatoren bei der Präsentation und Auswahl viel mitzureden.

Den "Kinder" Bonus (Jugendbonus) -"ach wie schlau, ach wie niedlich..." 
gab es schon damals.

Das gab damals schon Einschaltquoten (schon damals wichtig bei Nerd 
Sendungen im Öffentlich rechtlichen TV wie den WDR) und höhere Preise => 
Einnahmen bei der Werbung (privatwirtschaftliche US Sender).

Udo S. schrieb:
> Da du noch nicht mal die Frage des TOs auch nur ansatzweise verstanden
> hast

Reg dich nicht auf, der beißt nicht - der will nur Mobben und schlechte 
Laune verbreiten...

von Motopick (motopick)


Lesenswert?

> Das Programmieren wird sich bestimmt aber auf Niveau von Basic bewegt
> haben, kein C oder gar Assembler direkt am Prozessor und der
> Grafikkarte....

> Also mehr ein Anwenden von einigen fertigen Befehlen
> einer"Schülerprogrammiersprache".

Scheinbar haeltst ausgerechnet du dich fuer schlauer als die Schoeler
damals. In einer Fernsehsendung wurde als Ergebnis eines Wettbewerbs,
vermutlich "Jugend forscht" o. ae., eine auf einem C64 laufende OCR
gezeigt. Das (Video-)Signal schien von einem Framegrabber eingelesen
zu sein und die Formenerkennung lief ueber die Kollisionserkennung
mit verschiedenen "Sprites". Da war mit Sicherheit mehr als eine
"Schülerprogrammiersprache" am Werk.

Im Gegenteil:
Jeder Arduinostuemper wuerde heute so etwas nicht zustande bringen...

von Motopick (motopick)


Lesenswert?

Udo S. schrieb:
> Da du noch nicht mal die Frage des TOs auch nur ansatzweise verstanden
> hast
> :-)))

Der TO hat auch bislang die gegebenen Hinweise noch nicht verinnerlicht.
Auch eine "dickethalisierte" Skizze bleibt nur eine Skizze.
Also: "Not to be scaled."
Eine allgemeine OCR dafuer wird es, und kann es wohl auch nicht geben.
Weil die nicht in der Skizze enthaltenen Informationen darueber fehlen.
Also z.B. Wandstaerken, Toleranzen, etc.pp.
Man kann also aus einer Skizze durch einfache Konversion keine
taugliche (CAD-)Zeichnung erstellen.

von Rolf (rolf22)


Lesenswert?

Dieterich schrieb:
> Das Programmieren wird sich bestimmt aber auf Niveau von Basic bewegt
> haben, kein C oder gar Assembler direkt am Prozessor und der
> Grafikkarte....

Vor 50 Jahren gab es noch nicht mal in den USA Hobbycomputer.

Als dann die ersten kamen, hatten die nur Kippschalter und Lämpchen für 
die einzelnen Bits. Direkter am Prozessor geht es gar nicht. Für BASIC 
brauchte man mehr Speicher als die ersten Modelle hatten.

Der C64 kam erst vor 40 Jahren auf den deutschen Markt.

von Joachim B. (jar)


Lesenswert?

Rolf schrieb:
> Vor 50 Jahren gab es noch nicht mal in den USA Hobbycomputer.
>
> Als dann die ersten kamen, hatten die nur Kippschalter und Lämpchen für
> die einzelnen Bits.

Schiebeschalter und Lämpchen und handverdrahtet.

aber vor 55 Jahren in D
https://de.wikipedia.org/wiki/Logikus
https://www.logikus.info/

auch wenn manche ihm den Status Computer absprechen mögen, er war der 
Einstieg in AND OR NOT und Bits und man konnte einiges programmieren.

von Joe (Gast)


Lesenswert?

Motopick schrieb:
> dickethalisieren

Röööhr!!!!

von Motopick (motopick)


Lesenswert?

> Röööhr!!!!

Im Kontrast dazu die Duenneberg-Uhr. Quarzgetrieben aber mit Zeigern!,
Titangehaeuse und Lederarmband.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Dieterich schrieb:
> Das Programmieren wird sich bestimmt aber auf Niveau von Basic bewegt
> haben, kein C oder gar Assembler direkt am Prozessor und der
> Grafikkarte....

Massive Fehleinschätzung oder unüberlegtes Geschwätz.

Immer wieder wird das Erlernen einer Programmiersprache mit 
Programmieren lernen verwechselt.

Primär sind jedoch die Fähigkeiten, Probleme zu analysieren, in 
Teilprobleme zu zerlegen, Algorithmen zu finden usw.
Ob man dann die gefundene Lösung in C, Swift oder Basic "aufschreibt", 
ist erstmal sowas von egal (zumindest für den Lernprozess).
Es fehlen nahezu jegliches Hintergrundwissen, Kreativität und 
Systematik. Ich merke das oft an unseren Praktikanten 
("Fachinformatiker, Anwendungsentwickler"), die nach ca. 2 Jahren 
Ausbildung, bis auf absolute Einzelfälle, nichts davon können. Das ist 
allerdings nicht deren Schuld, denn intelligent und freundlich waren sie 
bisher alle, es liegt an der Art der Ausbildung, die überwiegend auf 
wenig nachhaltiges Auswendiglernen setzt.
Kaum Praxis, daher keine Erfahrung, Resultat: siehe Oben.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Und dann gibt es die Schüler, die trotz veralteten Frontalunterricht 
trotzdem kompetent und kreativ werden. Wie paßt das zusammen?

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Abdul K. schrieb:
> Und dann gibt es die Schüler, die trotz veralteten
> Frontalunterricht
> trotzdem kompetent und kreativ werden. Wie paßt das zusammen?

Ich habe ja gar nicht ausgeschlossen, dass es auch das gibt. Das ist 
wohl in unterschiedlichen Anteilen von verschiedenen Faktoren abhängig:

- Heranführung durch Eltern, Geschwister, Freunde
- persönliches Interesse, Neigungen, Geduld, Kreativität
- einfach Glück mit Lehrern, Schule, Umstände ...

Deren Zahl ist aber wesentlich seltener, als die Zahl derer, die 
offiziell als Anwendungsentwickler "produziert" werden.

Und: Frontalunterricht ist - im richtigen Anteil - überhaupt nicht 
veraltet. Dumm nur, wenn es das Einzige ist, was geboten wird.

: Bearbeitet durch User
von Joachim B. (jar)


Lesenswert?

Frank E. schrieb:
> Primär sind jedoch die Fähigkeiten, Probleme zu analysieren, in
> Teilprobleme zu zerlegen, Algorithmen zu finden usw.
> Ob man dann die gefundene Lösung in C, Swift oder Basic "aufschreibt",
> ist erstmal sowas von egal (zumindest für den Lernprozess).

OK unterschreibe ich!

Frank E. schrieb:
> Ich merke das oft an unseren Praktikanten
> ("Fachinformatiker, Anwendungsentwickler"), die nach ca. 2 Jahren
> Ausbildung, bis auf absolute Einzelfälle, nichts davon können. Das ist
> allerdings nicht deren Schuld, denn intelligent und freundlich waren sie
> bisher alle, es liegt an der Art der Ausbildung, die überwiegend auf
> wenig nachhaltiges Auswendiglernen setzt.

nö, es liegt an dem durchschleusen von 50% Abiquote!
Wer glaubt denn das wirklich 50% studierfähig sind?
Der alte Gaus hatte ja schon mal richtig die Glockenkurve gebaut
https://wirtschaftslexikon.gabler.de/sites/default/files/styles/keyword/public/images/wilex/74284.png?itok=D-yfeUCg

mit 50% Abiturienten wird das absurd

von Jens G. (jensig)


Lesenswert?

Motopick schrieb:
> Udo S. schrieb:
>> Da du noch nicht mal die Frage des TOs auch nur ansatzweise verstanden
>> hast
>> :-)))
>
> Der TO hat auch bislang die gegebenen Hinweise noch nicht verinnerlicht.

Welche?

> Auch eine "dickethalisierte" Skizze bleibt nur eine Skizze.
> Also: "Not to be scaled."
> Eine allgemeine OCR dafuer wird es, und kann es wohl auch nicht geben.

Klar kann es die geben. Die muß eben "nur" dafür ausgelegt sein, 
krumme/zackige  Linien als gerade (bzw. mathematisch exakte Linien) zu 
betrachten, und Bemaßungen entsprechend zu interpretieren. Muß also 
etwas abstrahieren können. Genau so, wie es bei OCR eben so ist ...

> Weil die nicht in der Skizze enthaltenen Informationen darueber fehlen.
> Also z.B. Wandstaerken, Toleranzen, etc.pp.

Worüber redest Du denn? Davon ist nix in der Skizze enthalten.

> Man kann also aus einer Skizze durch einfache Konversion keine
> taugliche (CAD-)Zeichnung erstellen.

Ja ja ...

: Bearbeitet durch User
von J. R. (yoc)


Lesenswert?

Udo S. schrieb:
> Ähnlich wie eine OCR. Und mindestens genauso aufwändig.

Das ist noch stark untertrieben.

von Motopick (motopick)


Lesenswert?

> entsprechend zu interpretieren
...
> Muß also etwas abstrahieren können
> Genau so, wie es bei OCR eben so ist ...

Ja ja. Da erwartest du wohl etwas viel.

Meine Skizze bekommt ein Konstrukteur. Wenn es bei der Skizze etwas
zu interpretieren gaebe, waere die Skizze einfach nur schlecht.
Sie muss in den wesentlichen Punkten eindeutig sein.

Aus der Skizze Koordinaten und Vektoren zu extrahieren, mag ja
noch mit ertraeglichem Aufwand machbar sein. Was ist nun an dieser
digitalen Replik besser? Ein Werkstueck danach fertigen?
Dafuer fehlen der Skizze zu viele Informationen.

Aber der Konstrukteur kennt seine Maschinen, Materialien und Verfahren.
Daraus abstrahiert der Konstrukteur die anderen bislang nicht
bemassten Details. Das erwartest du von einer etwas besseren OCR?

Wohl kaum.


Schoenes Weihnachtsfest!

von Josef G. (0123456789)


Lesenswert?

Gab es da nicht einmal vor längerer Zeit "Digitalisiertabletts" mit so 
einer kleinen Maus mit einem Fadenkreuz zum Nachzeichnen von Plänen 
[sic!], die man drauf befestigt hat.
Ob deine Skizze hier als Plan zu sehen sein soll, musst du selber 
entscheiden.
Vielleicht findest du noch gebrauchte Gerätschaften dieser Art. 
(Vorsicht: Die könnten mittlerweile schon unter Denkmalschutz stehen.)
LG

von Motopick (motopick)


Lesenswert?

> Gab es da nicht einmal vor längerer Zeit "Digitalisiertabletts" mit so
> einer kleinen Maus mit einem Fadenkreuz zum Nachzeichnen von Plänen
> [sic!], die man drauf befestigt hat.

Ich hab hier so ein IBM-Teil. A3 gross.
Sehr beliebt ist die Bedienung des CAD-Systems ueber "virtuelle"
Tasten, die sich als Felder auf einer Papiervorlage praesentierten.

Befestigen muss man bei dem IBM Tablett auch nicht "darauf".
Das hat eine transparente Folie, unter die man die Vorlage legen kann.
Neben "Fadenkreuzmaus" gibt es auch noch einen "Stift". :)

von Marci W. (marci_w)


Lesenswert?

Motopick schrieb:
> Jeder Arduinostuemper wuerde heute so etwas nicht zustande bringen...

Seltsam, der Satz. Du meinst also, KEIN Arduinostuemper würde heute...?
Und was soll dieses abfällige Gerede schon wieder?

ciao

Marci

: Bearbeitet durch User
von Motopick (motopick)


Lesenswert?

> KEIN Arduinostuemper

Trefflich interpretiert.
Die Jungs damals™ waren vielleicht 16 - 18 Jahre alt.
Und konnten nicht irgendwelchen Code zusammenklau(b)en.
Die mussten jedes auftretende Problem noch selbst loesen.

Schaetze doch mal (in Promille) den Anteil von Arduinobenutzern,
die eine einfache OCR selbst schreiben koennten.
Etwas mehr als eine 5x7 Matrixschrift sollte es aber schon sein.
Nur mit Compiler/Assembler/Linker...

> abfällige
kommt von Abfall.
Die Tauglichkeit heutiger Abiturienten/Studienabgaenger
spricht da eine deutliche Sprache. Und ich fuerchte, dass meine
Einschaetzung da wohl eher zutrifft.

von Jens G. (jensig)


Lesenswert?

Motopick schrieb:
>> entsprechend zu interpretieren
> ...
>> Muß also etwas abstrahieren können
>> Genau so, wie es bei OCR eben so ist ...
>
> Ja ja. Da erwartest du wohl etwas viel.
>
> Meine Skizze bekommt ein Konstrukteur. Wenn es bei der Skizze etwas
> zu interpretieren gaebe, waere die Skizze einfach nur schlecht.
> Sie muss in den wesentlichen Punkten eindeutig sein.

Nach dieser Logik müsste jeder Shell-Interpreter eher ein 
Zufallsgenerator sein, weil er die Befehle nicht eindeutig zu 
interpretieren weiß.

> Aus der Skizze Koordinaten und Vektoren zu extrahieren, mag ja
> noch mit ertraeglichem Aufwand machbar sein. Was ist nun an dieser
> digitalen Replik besser? Ein Werkstueck danach fertigen?
> Dafuer fehlen der Skizze zu viele Informationen.

Du phantasierst schon wieder viel zu viel in die ursprüngliche Frage 
hinein. Der TO fragte ganz einfach danach, ob es solche Lösungen gibt. 
Nicht nach Sinn oder Unsinn, und nicht nach Deinen Präferenzen oder 
Problemen ...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.