|
|
| R2D2 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.10.2010, 11:25
Titel: Schon wieder polyfit
|
 |
Es geht immer noch um meine Kantendetektion.
Hab das auch das auch soweit ganz gut hinbekommen.
Kantenbild wird erstellt mit einer zero-cross_Methode.
Daraus erstelle ich mir ein Binärbild.
Nächster Schritt ist das Auslesen wo 1er (Kanten) sind
und lese die Umgebung ein.
testbereich =
0 0 0 1 1
1 1 1 1 1
1 1 1 0 0
0 0 0 0 0
0 0 0 0 0
Daraus lass ich mir dann mit polyfit die Orientierung berechnen.
Was meiner Meinung nach auch funktioniert.
Aber der Befehl hat Probleme damit, dass die zu den x-Werten(Spalten) mehrere y-Werte vorhanden sind.
Warning: Polynomial is badly conditioned. Add points with distinct X
values, reduce the degree of the polynomial, or try centering
and scaling as described in HELP POLYFIT.
Für Matrizen gitb es ja nach polyfit auch den Befehl polyvalm.
Gibt es so was auch für polyfit? Oder ist es ok, wenn ich es mit polyfit laufen lasse?
Danke
|
|
|
|
|
|
| Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.10.2010, 08:40
Titel:
|
 |
Kann jemand dazu noch was sagen?
Vielen Dank
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 11.10.2010, 22:30
Titel: Re: Schon wieder polyfit
|
 |
Hallo R2D2,
| Zitat: |
Daraus lass ich mir dann mit polyfit die Orientierung berechnen.
Was meiner Meinung nach auch funktioniert.
Aber der Befehl hat Probleme damit, dass die zu den x-Werten(Spalten) mehrere y-Werte vorhanden sind. |
Es funktioniert Deiner Meinung nach gut, obwohl "der Befehl" Probleme damit hat? Das klingt eher, als würde es nicht gut funktionieren.
Aber welcher Befehl eigentlich? Wie verwendest Du die angegebene Matrix als Input für POLYFIT? Das ist ein wichtiges Detail, das wir nicht erraten können.
Gruß, Jan
|
|
|
|
| Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.10.2010, 07:43
Titel:
|
 |
Ich rede doch die ganze Zeit über polyfit. Was solls denn sonst sein?
Die 1er Einträge in der Matrix sind dann die Koordinaten:
Was ich dabei rausbekomme schein richtig zu sein, ich weiss es aber nicht.
|
|
|
|
| Achi |

Forum-Guru
|
 |
Beiträge: 250
|
 |
|
 |
Anmeldedatum: 14.04.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2007a
|
 |
|
|
 |
|
Verfasst am: 12.10.2010, 15:23
Titel:
|
 |
Das mag genau für diese Matrix passen.
Falsch ist es aber sicher für:
testbereich=
1 1 1 0 0
1 1 1 0 0
1 1 1 0 0
1 1 1 0 0
1 1 1 0 0
da wird dann nur Index 1:15 betrachtet und liefert falsche Ergebnisse!
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 12.10.2010, 21:50
Titel: Re: Schon wieder polyfit
|
 |
Hallo R2D2,
Aha, Du ermittelst die Indices mit FIND.
Wie wäre es, wenn Du die Mittelwerte über die Zeilen bildest?
Das wäre dann für POLYFIT verdaubar.
Allerdings bleibt das Problem der vertikalen Linien.
Gruß, Jan
|
|
|
|
| R2D2 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.10.2010, 22:10
Titel:
|
 |
Hallo Jan,
bin auch darauf gekommen, dass es so nicht richtig ist.
Hab den testbereich auch in eine 1er Matrix kopiert,
um dem Problem mit den Vertikalen zu begenen.
Ich versteh diese Zeile mal gar nicht:
Und wie würdest du das Problem mit der Kantenorientierung angehen?
Hänge da wirklich dran und ist wohl der Knackpunkt in der Arbeit.
Besten Dank!
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 12.10.2010, 22:29
Titel:
|
 |
Hallo R2D2,
Du hattest eine Matrix mit Nullen und Einsen angegeben. Ich habe nun für jede Spalte den Mittelpunkt der Einsen berechnet:
Wenn Du dies als Y-Input für POLYFIT verwendest und 1:5 als X-Input, gibt es keine Warnungen für ein schlecht-konditiniertes Problem.
Nun bleibt der Ansatz aber für solche Bereiche wackelig:
1 1 0 0 0
1 1 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
In welcher Form benötigst Du denn die Kanten-Information?
Gruß, Jan
|
|
|
|
| R2D2 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.10.2010, 22:35
Titel:
|
 |
Ein Winkel reicht.
Wie oben erwähnt das:
t=
1 1 0 0 0
1 1 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
kopiere ich um zu:
a=zeros(7)
a(2:6,2:6)=t.
Darin sollte es doch "stabiler" werden?
|
|
|
|
| R2D2 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.10.2010, 07:22
Titel:
|
 |
[quote="Jan S"]Hallo R2D2,
Du hattest eine Matrix mit Nullen und Einsen angegeben. Ich habe nun für jede Spalte den Mittelpunkt der Einsen berechnet:
[code]testvector = [(3+4)/2, (3+4)/2, (3+4)/2, (4+5)/2, (4+5)/2];
[quote/]
Ok hab das nicht kapiert, weil die Indizierung eigentlich anders herum ist
Eigtnlich dürfte ich auch keine solche Matritzen erhalten:
testbereich=
1 1 1 0 0
1 1 1 0 0
1 1 1 0 0
1 1 1 0 0
1 1 1 0 0
Weil vorher ein Kantendetektionsalgo drüberläuft und solche Matritzen nicht entstehen dürften!
Gruß
|
|
|
|
| R2D2 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.10.2010, 15:16
Titel:
|
 |
Wollte das noch mal aufgreifen.
WIe gesagt solche Matrizen wie oben:
testbereich=
1 1 1 0 0
1 1 1 0 0
1 1 1 0 0
1 1 1 0 0
1 1 1 0 0
sondern:
testbereich =
1 1 1 1 1 1 1
1 0 0 1 0 0 1
1 0 0 1 0 0 1
1 0 0 1 0 0 1
1 0 0 1 0 0 1
1 0 1 0 0 0 1
1 1 1 1 1 1 1
winkel =
359.2203
testbereich =
1 1 1 1 1 1 1
1 0 0 1 0 0 1
1 0 0 1 0 0 1
1 0 0 1 0 0 1
1 0 1 0 0 0 1
1 0 1 0 0 0 1
1 1 1 1 1 1 1
winkel =
358.8377
Den Winkel will ich mir dann so berechnen lassen:
ABer wie man sieht wenn man sich den Testbereich ansieht, kann der Winkel nicht stimmen. Hat jemand einen Vorschlag?
Vielen Dank
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 14.10.2010, 16:02
Titel:
|
 |
Hallo R2D2,
| Zitat: |
WIe gesagt solche Matrizen wie oben:
testbereich=
1 1 1 0 0
1 1 1 0 0
1 1 1 0 0
1 1 1 0 0
1 1 1 0 0
sondern:
|
???
| Zitat: |
testbereich =
1 1 1 1 1 1 1
1 0 0 1 0 0 1
1 0 0 1 0 0 1
1 0 0 1 0 0 1
1 0 0 1 0 0 1
1 0 1 0 0 0 1
1 1 1 1 1 1 1
winkel =
359.2203
|
Welchen Winkel würdest Du denn hier erwarten? Ich sehe in dem Bild 5 Geraden. Wozwischen möchtest Du den Winkel denn bestimmen?
Gruß, Jan
|
|
|
|
| R2D2 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.10.2010, 17:49
Titel:
|
 |
Den 1er "Kranz" hab ich gemacht um die ganze Matrix einzubeziehen.
Was sich ja wieder rauskürzt.
Is kein Ding das wieder rückgängig zu machen.
Wie würdest denn du die Info:
0 0 1 0 0
0 0 1 0 0
0 0 1 0 0
0 0 1 0 0
0 1 0 0 0
nutzen um daraus einen einen Winkel abzuleiten?
Danke
P.S. Es geht um Ablenkung an Grenzflächen
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 14.10.2010, 20:27
Titel:
|
 |
|
|
|
| R2D2 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.10.2010, 07:38
Titel:
|
 |
|
|
|
|
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 - 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.
|
|