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

Sicherheitspuffer in Matrix-"Karte" einfügen

 

Poseidonius
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 97
Anmeldedatum: 08.07.07
Wohnort: Magdeburg
Version: ---
     Beitrag Verfasst am: 28.11.2008, 16:57     Titel: Sicherheitspuffer in Matrix-"Karte" einfügen
  Antworten mit Zitat      
Hallo Ihr Matlab-Profis,

ich nutze eine 1000x1000 Matrix als Karte der Umgebung (Wände, Türen usw.) für meine Robotersimulator. Hindernisse werden durch "1" repräsentiert freie Bahn bedeutet "0". Nun möchte ich einen zusätzlichen Sicherheitsabstand einfügen und in alle Elemente der Matrix die in einem definierten Abstand zu einem Hindernis liegen ebenfalls eine "1" eintragen. Der Abstand soll über sqrt((x-x1)^2+(y-y1)^2) berechnet werden.

Also zum Beispiel:

00000000000000000
00000000000000000
00010000000000000
00000000111111111
00000000100000000
00000000100000000
00000000100000000

00000000000000000
00111000000000000
00111001111111111
00111001111111111
00000001111111111
00000001110000000
00000001110000000


Dafür bräuchte ich in Anbetracht der Grüße der Matrix eine pfiffige Lösung

Danke und ein schönes Wochenende
Private Nachricht senden Benutzer-Profile anzeigen


dib0r
Forum-Guru

Forum-Guru


Beiträge: 413
Anmeldedatum: 09.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.11.2008, 17:33     Titel:
  Antworten mit Zitat      
Hallo,

hilft dir vielleicht
Code:
imdilate
strel
weiter? oder
Code:


MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Poseidonius
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 97
Anmeldedatum: 08.07.07
Wohnort: Magdeburg
Version: ---
     Beitrag Verfasst am: 28.11.2008, 20:33     Titel:
  Antworten mit Zitat      
Hallo dibOr,

ja, diese Funktionen sollten mein Problem lösen können. Vielen Dank für den Tipp !!! Nur leider verfüge ich nicht über die entsprechenden Toolboxen Sad

Eigentlich muss ich nur für jeden Punkt der Karte bestimmen, ob innerhald des definierten Abstandes ein Hindernis liegt und ihn dann gegebenenfalls markieren.

Vielleicht hat noch jemand eine nette Idee dazu.

Grüße

Poseidonius
Private Nachricht senden Benutzer-Profile anzeigen
 
dib0r
Forum-Guru

Forum-Guru


Beiträge: 413
Anmeldedatum: 09.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.12.2008, 11:21     Titel:
  Antworten mit Zitat      
Hallo,

was passiert wenn du das Bild einfach filterst? D.h. du baust dir deinen Filter auf, z.B.
Code:
meinFilter = [0 1 0; 1 1 1; 0 1 0]
und filterst damit deine Matrix. Dein Filter muss natürlich so aufgebaut sein, dass es dein Abstandskriterium auch erfüllt (hier ist der Maximalabstand 1). Danach filterst du das ganze mit
Code:
Der Unterschied ist eigentlich nur dass du an manchen Stellen keine 1 mehr hast, sondern einen größeren Wert.

MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Poseidonius
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 97
Anmeldedatum: 08.07.07
Wohnort: Magdeburg
Version: ---
     Beitrag Verfasst am: 01.12.2008, 12:17     Titel:
  Antworten mit Zitat      
Gibt es eine Funktion, die Matlab nicht bietet?

Habe es zwar zwischenzeitlich selber "gehackt", aber der Weg über filter2 ist natürlich eleganter !!

Danke für den Tipp
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 - 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.