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

Konturen aus Höhenwert angegebenen Bild

 

Muecke82
Themenstarter

Forum-Century

Forum-Century



Beiträge: 100
Anmeldedatum: 10.06.13
Wohnort: Großraum Stuttgart
Version: GNU Octave V.7.1.0
     Beitrag Verfasst am: 14.01.2015, 15:48     Titel:
  Antworten mit Zitat      
Epfi hat Folgendes geschrieben:


Das ist ne Punktewolke. Einfach ein Haufen von Punkten (x, y, z).


Ach so, meine Daten Ligen dann schon in einer Punkte Wolke vor Sad nicht als Bild !! von einer Kamera!

Siehe Oberen Beitrag von mir.
_________________

--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
Private Nachricht senden Benutzer-Profile anzeigen


Muecke82
Themenstarter

Forum-Century

Forum-Century



Beiträge: 100
Anmeldedatum: 10.06.13
Wohnort: Großraum Stuttgart
Version: GNU Octave V.7.1.0
     Beitrag Verfasst am: 14.01.2015, 21:14     Titel:
  Antworten mit Zitat      
also das mit dem EDGE habe ich mir angeschaut, doch ich wies nicht wie und was ich damit machen soll kann, ... ich komme da irgend wie nicht so richtig drauf Sad ...
_________________

--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
Private Nachricht senden Benutzer-Profile anzeigen
 
Muecke82
Themenstarter

Forum-Century

Forum-Century



Beiträge: 100
Anmeldedatum: 10.06.13
Wohnort: Großraum Stuttgart
Version: GNU Octave V.7.1.0
     Beitrag Verfasst am: 14.01.2015, 23:29     Titel:
  Antworten mit Zitat      
Also das mit dem EDGE habe ich immer noch nicht verstanden Sad

dafür habe ich das die von mir gefunden Punkte und vorher Grafisch Darstellung im "mesh" jetzt auch soweit das ich sie in der einzelnen Linie darstellen kann, jedoch ist das Ergebnis Sch.... was ich da habe.

Könnte mir einer mit dem Befehl
Code:
weiter helfen?



habe meine Gefunden Punkte als Figur angehängt Wink

die Kreise sind Punkte die ich gefunden habe.


Bildschirmfoto 2015-01-14 um 23.28.39.png
 Beschreibung:
Das ist das Bild zu der Figur
auch im Beitrag zu sehen

Download
 Dateiname:  Bildschirmfoto 2015-01-14 um 23.28.39.png
 Dateigröße:  21.01 KB
 Heruntergeladen:  373 mal
Test.fig
 Beschreibung:
die Kreise sind Punkte die ich gefunden habe.

Download
 Dateiname:  Test.fig
 Dateigröße:  60.51 KB
 Heruntergeladen:  341 mal

_________________

--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
Private Nachricht senden Benutzer-Profile anzeigen
 
Muecke82
Themenstarter

Forum-Century

Forum-Century



Beiträge: 100
Anmeldedatum: 10.06.13
Wohnort: Großraum Stuttgart
Version: GNU Octave V.7.1.0
     Beitrag Verfasst am: 15.01.2015, 18:25     Titel:
  Antworten mit Zitat      
Hallo Andreas Goser,

Mit welchen Tool müsste ich denn da herum experimentieren?

du meintest "3. ist dann eine recht einfach zu implementierende Bildverarbeitung"
jedoch werde ich aus dem Befehl und den App`s nicht wirklich schlau Sad

Könntest du da etwas näher drauf eingehen?

Andreas Goser hat Folgendes geschrieben:
... In der Bildverarbeitung gibt es dazu bewährte "edge detection algorithms", die muss man nicht neu erfinden. Ist die Image Processing Toolbox vorhanden? ....




Gruß

Bildschirmfoto 2015-01-15 um 18.20.41.png
 Beschreibung:
Bild ist im Beitrag vorhanden.

Download
 Dateiname:  Bildschirmfoto 2015-01-15 um 18.20.41.png
 Dateigröße:  19.26 KB
 Heruntergeladen:  352 mal

_________________

--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
Private Nachricht senden Benutzer-Profile anzeigen
 
Muecke82
Themenstarter

Forum-Century

Forum-Century



Beiträge: 100
Anmeldedatum: 10.06.13
Wohnort: Großraum Stuttgart
Version: GNU Octave V.7.1.0
     Beitrag Verfasst am: 17.01.2015, 12:57     Titel:
  Antworten mit Zitat      
vielleicht Liest ja noch jemand mit, ich hoffe es zumindest Wink


was mir heute Nacht in den Kopf geschossen ist warum versuche ich nicht die nahe zu Parallelen Strecken zu finden.

Wenn ich die Gefunden habe kam ich am oberen ende schauen wo es anfängt und unten wo es aufhört, daraus müsste doch dann alles zu berechnen sein??

habe das mal bei einem Teil eingezeichnet wie ich das meine.

Was meint Ihr zu der Idee?
und wie könnte ich so was per Formel Lösen? oder mit dem Tool?



Bildschirmfoto 2015-01-17 um 12.55.02.png
 Beschreibung:
Bild ist im Beitrag

Download
 Dateiname:  Bildschirmfoto 2015-01-17 um 12.55.02.png
 Dateigröße:  14.67 KB
 Heruntergeladen:  354 mal

_________________

--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 17.01.2015, 14:19     Titel:
  Antworten mit Zitat      
Hallo,

mit diff kannst du die Unterschiede aufeinanderfolgender Werte, also die Steigung, ermitteln.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Muecke82
Themenstarter

Forum-Century

Forum-Century



Beiträge: 100
Anmeldedatum: 10.06.13
Wohnort: Großraum Stuttgart
Version: GNU Octave V.7.1.0
     Beitrag Verfasst am: 17.01.2015, 14:22     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

mit diff kannst du die Unterschiede aufeinanderfolgender Werte, also die Steigung, ermitteln.

Grüße,
Harald


das habe ich schon mal gemacht, 3 Beitrage weiter drüber.

die Kurve mit den Roten Punkten, das klappt nicht so richtig ... Sad
_________________

--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 17.01.2015, 14:25     Titel:
  Antworten mit Zitat      
Hallo,

aus dem Beitrag hatte ich entnommen, dass du mit edge gearbeitet hast.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Muecke82
Themenstarter

Forum-Century

Forum-Century



Beiträge: 100
Anmeldedatum: 10.06.13
Wohnort: Großraum Stuttgart
Version: GNU Octave V.7.1.0
     Beitrag Verfasst am: 17.01.2015, 14:30     Titel:
  Antworten mit Zitat      
Oh sorry, da habe ich mich Falsch ausgedrückt. das war nicht meine Absicht.

mit dem Befehl "edge" habe ich leider Gerichts hin bekommen Sad

die Gefunden Punkte habe ich berechnet in dem ich die Steigung Größer als ... mir anzeigen lasse, da das jedoch gar nicht geklappt hat habe ich die Steigung dann aus einem Gleitenden Miteilwert gebildet. jedoch ist das noch sehr ungenau Sad

Aus dem Grund glaube ich das ich auch dem Falschen weg bin und habe gehofft das mir einer von euch Profis hier einen Tipp geben kann,
leider komme ich mit dem Befehl "edge" geharnischt klar.
und mit dem Tool das ich oben verlinkt habe auch nicht wirklich Sad
_________________

--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 17.01.2015, 14:42     Titel:
  Antworten mit Zitat      
Hallo,

mit Bildverarbeitung an sich kenne ich mich leider nicht aus.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Muecke82
Themenstarter

Forum-Century

Forum-Century



Beiträge: 100
Anmeldedatum: 10.06.13
Wohnort: Großraum Stuttgart
Version: GNU Octave V.7.1.0
     Beitrag Verfasst am: 17.01.2015, 14:48     Titel:
  Antworten mit Zitat      
Schade,

das ist meine Berechnung: (vielleicht habe ich ja Fehler drin)

Code:
   % dx
       dy = diff(Z1);
    % dy
       dx = diff(Y1);
    % dy/dX
       dydx = dy./dx;
    % Gleitender Mittelwert = d
       windowSize = 20;                          
       d = filter(ones(1, windowSize) / windowSize, 1, dydx')';
    % d>1
      Steigung = 0.8;
      [Zeilen,Spalten] = size(d);         % Spalten 395   Zeilen 2142
        d1 = repmat(0, Zeilen, Spalten);  % Füllen mit, Zeilen, Spalten    % d1 komplet mit 0 füllen
      for i = 1 : Spalten
        for ii = 1 : Zeilen
            if abs(d(ii, i)) > Steigung
                d1(ii, i) = 1;
            end
        end
       end    
    % Knick
      [Zeilen,Spalten] = size(d1);        % Spalten 395   Zeilen 2142
      for i = 1 : Spalten
        for ii = 2 : Zeilen
            if d1(ii-1, i) ~= d1(ii, i)
               C1(ii, i) = 10;
            end
        end
      end
  clear i ii dx dy dydx Gleitwert Spalten Steigung d d1 Zeilen windowSize;

_________________

--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 18.01.2015, 03:24     Titel:
  Antworten mit Zitat      
Hallo,

ich würde meinen, dass es geschickter ist, die Daten an sich erst zu glätten und dann die Ableitung anzunähern statt umgekehrt.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
AndyAndyAndy
Forum-Anfänger

Forum-Anfänger


Beiträge: 44
Anmeldedatum: 22.12.14
Wohnort: Nähe Offenburg
Version: GNU Octave 4.1.0+
     Beitrag Verfasst am: 18.01.2015, 09:56     Titel:
  Antworten mit Zitat      
mit dem gleitenden Mittelwert (MTA) machst du dir natürlich die Flanken kaputt. Für sowas nimt man normalerweise einen Savitzky-Golay Filter.

Prinzipiell glaube ich, dass du völlig falsch an die Sache gehst. Da du irgendwo in den quadrillionen Posts (Übertreibung) schreibst dein Ziel ist es, die Konturen nachzufräsen, würde ich über einen threshold aus dem Höhenprofil ein BW Bild machen und dann über Skelettierung bzw. Erosion die Mittellinie finden, die du dann nachfräsen willst.
Private Nachricht senden Benutzer-Profile anzeigen
 
Muecke82
Themenstarter

Forum-Century

Forum-Century



Beiträge: 100
Anmeldedatum: 10.06.13
Wohnort: Großraum Stuttgart
Version: GNU Octave V.7.1.0
     Beitrag Verfasst am: 18.01.2015, 11:13     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

ich würde meinen, dass es geschickter ist, die Daten an sich erst zu glätten und dann die Ableitung anzunähern statt umgekehrt.

Grüße,
Harald


das hatte ich zu beginn gemacht, dabei hatte ich die selben schlechten Ergebnisse bekommen. Sad




AndyAndyAndy hat Folgendes geschrieben:
mit dem gleitenden Mittelwert (MTA) machst du dir natürlich die Flanken kaputt. Für sowas nimt man normalerweise einen Savitzky-Golay Filter.

was auch immer das ist, höre ich gerade zum ersten mal Sad werde mir das aber mal anschauen habe dazu den Befehl gefunden:
Code:




AndyAndyAndy hat Folgendes geschrieben:
Prinzipiell glaube ich, dass du völlig falsch an die Sache gehst. Da du irgendwo in den quadrillionen Posts (Übertreibung) schreibst dein Ziel ist es, die Konturen nachzufräsen, würde ich über einen threshold aus dem Höhenprofil ein BW Bild machen und dann über Skelettierung bzw. Erosion die Mittellinie finden, die du dann nachfräsen willst.


Das ich da Falsch dran gehe glaube ich auch, daher ja auch im ersten Post wie würdet Ihr das machen.

Dein vor schlag ist es also

1. Datenimport
2. Visualisierung
3. Bildverarbeitung
3.1. Bild generieren Draufsicht
3.2 threshold erstellen
3.3 threshold Bild eine Skelettierung bzw. Erosion
4. Pfadermittlung über Skelettierung bzw. Erosion


Punkt 1 - Erledigt
Punkt 2 - Erledigt
Punkt 3 - bräuchte ich Hilfe
Punkt 3 - ich habe zwar schon geschafft ein Bild zu machen doch das war irgend wie das gesamte Fenster Sad ich glaube das ist zu viel des guten.
Punkt 4 - bräuchte ich Hilfe
_________________

--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
Private Nachricht senden Benutzer-Profile anzeigen
 
Muecke82
Themenstarter

Forum-Century

Forum-Century



Beiträge: 100
Anmeldedatum: 10.06.13
Wohnort: Großraum Stuttgart
Version: GNU Octave V.7.1.0
     Beitrag Verfasst am: 19.01.2015, 00:33     Titel:
  Antworten mit Zitat      
Hallo miteinander,


ich habe mit dem Befehl
Code:

etwas experimentiert.
und habe mir jetzt immer zeilenweise angeschaut wie die Höhen Divergenz von einem zum nächsten Punkt ist denn die Größer als 0.5 ist dann mache den Punkt Farbig Smile (Divergenz der Höhenwerte auf entlang der Y Achse)
das ist bei raus gekommen.


ich finde das Bild schon sehr gut.
alles was wies ist ist in der Matrix als NaN definiert, alles was sichtbar ist hat den Wert 10


das ist die Berechnung dafür:
Code:
% dx
   dy = diff(Z1);
% dy
   dx = diff(Y1);
   
%% d>1
disp('Berechnung Start');
    Steigung = 0.2;
    [Zeilen,Spalten] = size(B(Breite, Laufrichtung));                      % Spalten und Zeilen anzahl auslesen

     for i = 1 : Spalten
         for ii = 1 : Zeilen
             if abs(dy(Breite(ii), Laufrichtung(i))) >= 0.5
                 B(Breite(ii), Laufrichtung(i)) = 10;
             end
         end
     end
 disp('Berechnung Ende');  




Mein Problem ist jetzt das ich die Divergenz der Höhenwerte auch entlang der X-Achse machen sollte. gibt es dafür einen Speziellen Befehl?
so wie den "diff" ?

Bildschirmfoto 2015-01-19 um 00.26.53.png
 Beschreibung:
Bild ist im Beitrag zu sehen.

Download
 Dateiname:  Bildschirmfoto 2015-01-19 um 00.26.53.png
 Dateigröße:  34.03 KB
 Heruntergeladen:  339 mal

_________________

--
Anfänger, habe noch nie mit so was gearbeitet.
bitte um Verständnis.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite Zurück  1, 2, 3  Weiter

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.