WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Triangulation - Erkennen von Linien und Berechnung der Höhe

 

retsam
Forum-Century

Forum-Century


Beiträge: 112
Anmeldedatum: 23.09.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.06.2017, 15:11     Titel: Triangulation - Erkennen von Linien und Berechnung der Höhe
  Antworten mit Zitat      
Hallo Zusammen,
ich möchte gern einen 3 Scanner bauen, da die Hardware gerade unterwegs ist, wollte ich schonmal die Funktion Triangulation Programmieren.

Folgender Ausgangspunkt (siehe Versuchsaufbau).

Nach dem Scannen erhalte ich (in der Theorie) folgendes Bild (nachgestellt).

Nun meine Frage:
Wie kann ich in MatLab die Trigonometrie umsetzten.
Ich weiß, dass a²+b² = c² ist und über den Kamerawinkel die Abweichung der Ankathere Berechnet wird. Wie bringe ich Mathlab nun bei, dass wie im Bild1_strich200_300.jpg die Verschiebung zu erkennen und die Differenz über die Pixel zu berechnen?

Jemand eine Idee? Ich habe eine Denkblokade...

Greetz und frohe Pfingsten..

Bild1_strich2_300.jpg
 Beschreibung:
Verschiebung durch die Höhe

Download
 Dateiname:  Bild1_strich2_300.jpg
 Dateigröße:  3.14 KB
 Heruntergeladen:  362 mal
versuchsaufbau.jpg
 Beschreibung:
Versuchsaufbau (Skizze)

Download
 Dateiname:  versuchsaufbau.jpg
 Dateigröße:  16.34 KB
 Heruntergeladen:  388 mal
Private Nachricht senden Benutzer-Profile anzeigen


retsam
Themenstarter

Forum-Century

Forum-Century


Beiträge: 112
Anmeldedatum: 23.09.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.06.2017, 19:40     Titel:
  Antworten mit Zitat      
Hallo Zusammen,
so ich bin schonmal etwas Weiter.
Ich habe die Simulierte Linie des Lasers mal auf ein kleines Bild gezaubert (um schneller Ergebnisse zu bekommen).

Ich laufe quasi ab Spalte 1 im RGB das Bild ab bis ich einen Bestimmten Wert habe.
Über ein Break in der Schleife gehe ich zur nächsten Zeile.

Vll. hat jemand ja noch eine einfacherere Idee wie der Code auch bei großen Bildern schneller funktioniert?

Code:

for i = 1:m %% Zeilenweise abarbeiten
    for ii = 1:n %% Spaltenweise Abarbeiten
        testmatrix(i,ii) = 1; % Testmatrix zum Eintragen von "1" bis Wert gefunden wurde
        Wert1 = img4(i,ii);
            if Wert1 == 0
            %% Berechnung der vom Bildanfang // Abweichung der Linie (Höhe)
            EntfernungsMatrix(i,1) = ii; %% Abweichung vom 0-Punkt der Linie
            break
            end
    end
end
 


Greetz

Retsam
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 08.06.2017, 17:41     Titel:
  Antworten mit Zitat      
Hallo retsam,
Code:
firstZero = zeros(1, m);
for i = 1:m
  firstZero(i) = find(img4(i, :) == 0, 1);
end

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 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.