|
LaSo |
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 15.02.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.02.2016, 14:53
Titel: Winkel auf Bild erkennen
|
|
Hallo
ich bin leider ein absoluter Neuling, daher entschukdigt bitte, wie ich alles beschreibe.
Folgendes Problen:
Ich habe Bilder von Blättern (Windkraftanlagen) von unten fotografiert und möchte anhand dieser Bilder festellen, welchen Winkel das Blatt zu diesem Zeitpunkt hat. Als Referenz kann man hierfür die Befestigung der Nabe der Anlage auf dem Bild nehmen.
Ich habe mal ein Beispielbild dabei. Die Bilder können aber noch angepasst/neu gemacht werden, je nachdem, was ich dann benötige. Das weiß ich ja gerade noch nicht...
Also es geht um das Blatt, dass nach unten zum Boden zeigt.
1.Frage: Welche Tools benötige ich hierfür neben MATLAB? Image Processing Toolbox?
2.Frage: Ist dies mit MATLAB möglich und wo fange ich am besten an das zu verstehen?
Gruß
LaSo
Beschreibung: |
|
Download |
Dateiname: |
R0013554.JPG |
Dateigröße: |
1.58 MB |
Heruntergeladen: |
580 mal |
|
|
|
|
|
Maxx_BMT |
Forum-Fortgeschrittener
|
|
Beiträge: 75
|
|
|
|
Anmeldedatum: 09.10.13
|
|
|
|
Wohnort: Ilmenau
|
|
|
|
Version: R2011a, R2016a
|
|
|
|
|
|
Verfasst am: 16.03.2016, 13:17
Titel:
|
|
|
|
|
Hallo,
also möglich ist es bestimmt. Aber es kommt ein bisschen drauf an, ob ich es richtig verstanden habe. Du möchtest sozusagen aus dieser Sicht bestimmen, in welchem Winkel ein bestimmter Rotor steht zu einem bestimmten Bezugspunkt? Ist das so ungefähr richtig?
Hast du evtl. noch andere Ansichten zur Verfügung? Ich würde dir natürlich eine Frontalansicht empfehlen, welche es sehr einfach macht. Ansonsten würde ich mal schauen ob du eine bestimmte Struktur hast die du während der Drehung tracken kannst, um diese als Positionsreferenz zu nehmen.
Du kannst auch als Referenz die Stellung zwischen zwei Rotoren nehmen und dann versuchen, immer den am besten zu bestimmenden Rotor zu nehmen, dessen Winkel zum Turm zu bestimmen und dann kennst du ja die restlichen Winkel.
Am besten du sagst einfach nochmal, welche Ansichten du zur Verfügung hast;)
Der Rest ist eigentlich nur ein bisschen Strahlensatz und Bildverarbeitung;)
LG
Maxx_BMT
_________________
Mathematik ist ein geistreicher Luxus. - Friedrich der Große
|
|
|
LaSo |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 15.02.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 20.04.2016, 11:06
Titel:
|
|
Hallo Maxx
Danke für deine Antwort. Ich stehe immer am Boden und fotografiere nach oben ein Blatt. Das heißt ich sehe die Blattspitze zuerst. Eine andere Ansicht gibt es nicht. Das Blatt kann sich drehen, ist auf den Fotos aber immer auf Null Grad eingestellt. Ich möchte an den Fotos nachweisen, ob es tatsächlich Null Grad sind oder es um ein paar Grad abweicht.
Wie kann ich dies mit Matlab machen?
|
|
|
medtech |
Forum-Fortgeschrittener
|
|
Beiträge: 59
|
|
|
|
Anmeldedatum: 21.04.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.04.2016, 11:08
Titel:
|
|
|
|
|
Grüß dich,
also ich habe auch mal eine Winkelberechnung anhand von Bildern durchgeführt.
Das ist vom Prinzip her auch recht einfach, jedoch besteht bei dir das Problem der Perspektive. Ich hatte damals eine ganze normale Draufsicht auf mein Bild.
Willst du den Winkel aus deiner Sicht bestimmen( also von deinem Standpunkt aus) und ihn als Referenz nehmen oder möchtest du daraus im Prinzip eine Draufsicht Simulieren?
Also vom Vorgehen her kannst du es so machen bzw ich hatte es so gemacht:
Ich habe eine GUI (Grafische Oberfläche) mit guide erstellt. Dort konnte man dann das zu untersuchende Bild hineinladen.
Dann wurde ein Buttondown event erstellt bei der im Bild meine mit der Maus markierte Stelle farblich gekennzeichnet wurde und die Pixelwerte in textboxen angezeigt wurden.
Da kannst du dann ja einmal einen Referenzpunkt anklicken und einmal deine Rotorspitze.
Mit diesen Pixelwerten kannst du dann über trigonometrie den Winkel herausfinden. Jedoch wäre es wohl sinnvoll auch deinen Eigenen Standpunkt Winkelmäßig miteinzubeziehen.
Oder hab ich dein Vorhaben falsch verstanden?
VG medtech
|
|
|
LaSo2 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 26.04.2016, 16:55
Titel:
|
|
Hallo medtech
an sich ist deine Lösung ok, aber absolut zu ungenau. Die entstehenden Abweichungen wären viel zu enorm, wenn ich Punkte nur durch einen Klick mit meiner Maus selber festlegen muss...
Ich möchte über Matlab Regeln festlegen, wie "nehme den äußersten Punkt von diesem Abschnitt als Referenzpunkt", "bild ein Dreieck aus den Punkten", "fälle ein Lot von dem punkt auf diese Linie"... So wie man es per Hand in der Schule machen würde, nur eben professionel mit möglichst geringer Abweichung
|
|
|
medtech |
Forum-Fortgeschrittener
|
|
Beiträge: 59
|
|
|
|
Anmeldedatum: 21.04.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.04.2016, 08:28
Titel:
|
|
Guten Morgen,
tut mir leid ich hatte mich falsch ausgedrückt bei der Beschreibung.
Die Gui hatte bei mir nur den Sinn eines Korrekturprogramms.
Meine Hauptrechnung und Markierung der den Winkel bildenden Punkte fand zuvor in einem anderen Programm rechnerisch statt.
Es kommt eben darauf an auf wie viel Grad man genau sein will.
Das Problem ist eben, dass man mit Pixeln arbeiten muss und da diese eben keine analoge Größe darstellen handelst du dir eh eine Ungenauigkeit ein.
Bei mir waren es geschätzt +- 3~5 Grad. Dabei kam es noch auf andere Faktoren an.
Inwiefern seine Abweichung sein darf muss er wissen und seine Methodik danach ausrichten.
VG medtech
|
|
|
LaSo |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 15.02.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.05.2016, 10:26
Titel: LaSo2
|
|
Hallo Medtech
welches Programm hast du denn benutzt, um die Winkel auf deinem Bild zu bestimmen bevor du MATLAB als Korrektur benutzt hast?
Gruß
|
|
|
medtech |
Forum-Fortgeschrittener
|
|
Beiträge: 59
|
|
|
|
Anmeldedatum: 21.04.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.05.2016, 10:39
Titel:
|
|
Hallo,
das Hauptprogramm lief ebenfalls in matlab. Dort wurden dann die Referenzpunkte auf dem Bild rechnerisch bestimmt und in arrays gespeichert. Mittels dieser konnte man dann ganz einfach die Winkel bestimmen. Du musst nur noch deine Pixelgröße wissen/ berechnen.
Da die Bilder mit einer Webcam als videoinputobject aufgenommen wurden habe ich mir da die Pixelgröße über den Propertyinspector von matlab ausgerechnet.
Vg medtech
|
|
|
LaSo |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 15.02.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.05.2016, 10:48
Titel: LaSo2
|
|
Hallo
das verstehe ich nicht ganz:
ich muss zwei Linien in meinem Bild einzeichnen, von denen ich den Winkel benötige. Aber wie "erstelle" ich diese Linien?
Die eine Linie existiert quasi auch als Strich in meinem Bild und die andere linie muss ich durch zwei Punkte bestimmen lassen
Wie gehe ich da vor?
Ich stehe auf dem Schlauch
|
|
|
medtech |
Forum-Fortgeschrittener
|
|
Beiträge: 59
|
|
|
|
Anmeldedatum: 21.04.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.05.2016, 10:54
Titel:
|
|
naja du kannst über die line() Methode schonmal deine Linien plotten.
Dann den schnittpunkt berechnen und der is dann dein erster Punkt im Dreieck.
und als die anderen beiden Punkte könntest du ja die start oder enddaten einer jeden linie nehmen.
Jetzt fehlt ja nur noch dann der sin cos oder tan je nach dem wie du's machst.
VG medtech
|
|
|
LaSo |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 15.02.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.05.2016, 11:30
Titel:
|
|
Das verstehe ich leider nicht.
Ich zeige dir mal anhand eines Bildes mein Problem:
links das Originalfoto. Rechts die Linien von mir, die ich erstellen will und dessen WInkel ich benötge.
Rote Linie durch Punkt 1 und 2 soll als Referenz bestimmt werden.
Grüne Linie durch Punkte 3 und 4 soll den Winkel ergeben,d er für mich entscheidend ist
Wie gehe ich da vor?????
Beschreibung: |
|
Download |
Dateiname: |
Problembeschreibung MATLAB.jpg |
Dateigröße: |
164.66 KB |
Heruntergeladen: |
530 mal |
|
|
|
medtech |
Forum-Fortgeschrittener
|
|
Beiträge: 59
|
|
|
|
Anmeldedatum: 21.04.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.05.2016, 11:37
Titel:
|
|
Ich würde zur Visualisierung beide Linien über das ganze Bild laufen lassen.
Dann würde ich schauen, dass ich irgendwie den Schnittpunkt raus bekomme.
(Linie als Funktion setzen, ableiten, gleichsetzen) wenn ich mich da auf Anhieb richtig erinnere^^ und dann könntest du dir je einen Punkt auf der roten und gelben geraden nehmen und dein Dreieck daraus bilden.
So mal mein erster Gedanke, musst schauen ob es so umsetzbar ist.
jetzt verstanden?
VG medtech
|
|
|
LaSo |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 15.02.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.05.2016, 11:50
Titel:
|
|
ja aber das GROßE Problem ist ja, dass ich überhaupt nicht weiß, wie ich überhaupt diese Linien hinbekommen soll. Wie "findet" Matlab meine Punkte durch die die Linien ´laufen sollen?
Vielleicht reden wir auch gerade nur aneinander vorbei
|
|
|
medtech |
Forum-Fortgeschrittener
|
|
Beiträge: 59
|
|
|
|
Anmeldedatum: 21.04.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.05.2016, 11:54
Titel:
|
|
wie viele Bilder hast du denn?
Du könntest z.B. eine gui machen in der du das Bild einfügst und dort mittels slidern u.ä. die Linie manuell einstellst. Die 'Koordinaten' dieser Linie kannst du dir dann ja in einem array speichern.
Somit hast du die x und y Werte deiner Linien.
Dann müsstest dir nur noch den Schnittpunkt ausrechnen oder . je nach dem wie genau du es brauchst, kannst du auch mit nem mouseklick den Schnittpunkt von Hand anklicken und die den Pixel-Wert ebenfalls speichern lassen.
Die Berechnung ist dann trivial.
VG medtech=)
|
|
|
LaSo |
Themenstarter
Forum-Newbie
|
|
Beiträge: 8
|
|
|
|
Anmeldedatum: 15.02.16
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.05.2016, 08:24
Titel:
|
|
Hallo mechtech,
ich habe nun beschlossen es mit Matlab gui zu versuchen und dass mir Linien einzeichnen mittels Mausklick völlig ausreicht.
Wie gehe ich nun vor? Gibt es vielleicht Beispiele, die mir weiterhelfen das ganz schnell umsetzen zu können?
Ich stehe da noch bei null
Gruß
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|