Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   
Bücher:

Fachkräfte:
Softwareentwickler (m/w) für automatische Codegenerierung
Softwareentwicklung mit MATLAB/Simulink und dSPACE TargetLink im Bereich Fahrwerkregelsysteme
Elektronische Fahrwerksysteme GmbH - Ingolstadt

Entwicklungsingenieur (m/w) für modellbasierte Softwareentwicklung
Modellbasierte Softwareentwicklung mit MATLAB/Simulink und dSPACE TargetLink
Elektronische Fahrwerksysteme GmbH - Ingolstadt

Software-Entwicklungsingenieur (m/w) Referenzierungsmethoden autonomes Fahren
Automatisierung von Bewertungsmethoden und Kalibrierverfahren nach Kundenanforderungen
Elektronische Fahrwerksysteme GmbH - Ingolstadt

Application Engineer (m/w)
Unterstützung des Vertriebs bei der Erstellung von Angeboten und Präsentation beim Kunden
Control Techniques GmbH - Hennef

Softwareentwickler Automotive Getriebesteuerungen (m/w)
Umsetzung der Softwarefunktionalität modellbasiert nach Spezifikation
MBtech Group GmbH & Co. KGaA - Sindelfingen

weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Moravec

 

Simon

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.11.2007, 10:38     Titel: Moravec
  Antworten mit Zitat      
Hallo!
Ich brauche Hilfe bei der Programmierung von Moravec-Punktfinder in Matlab.
Kann jemand mir bitte behilflich sein?


Simon

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.11.2007, 10:46     Titel:
  Antworten mit Zitat      
Es sind die Varianzen in horiz. und vert. Richtung und in Richtung der zwei Diagonalen zu bestimmen.
 
Simon

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.11.2007, 13:23     Titel:
  Antworten mit Zitat      
Aufgabe:

Der Moravec Punkttefinder bestimmt Punkte mit Hilfe der gerichteten Varianz von Grauwerten.
Aufgabe: Moravec Operator in Matlab nach Vorgaben zu programmieren:
Es sind zwei Inputbilder zur Verfügung gestellt, an denen der Operator getestet werden soll!

1. Auswahl eines Fensters um ein Pixel mit der Dimension 5x5.
2. Bestimmung der Varianzen in horiz. und vert. Richtung und in Richtung der zwei Diagonalen mit Hilfe der Formel (im Fenster nxn)
3. Interessante Punkte werden durch lokale Maxima der minimalen gerichteten Varianzen bestimmt. Also muss I(r,c)=min (I1,I2,I3,I4) bestimmt werden und zusätzlich ein geeigneter Schwellenwert festgelegt werden, um eine Nicht-Maxima Unterdruckung durchzuführen.
4. Das entwickelte Programm soll auf die zwei Bilder angewandt werden. Es sollte möglich sein, mit verschiedenen Fenstergrößen zu arbeiten. Es sollte auch möglich sein, die extrahierten Punkte auf dem Eingabebild zu markieren.

Hinweis: Ein Funktionsaufruf könnte so aussehen:

Code

Corner Moravec (I, temp_size, thresh)

Mit den Parametern:
I: inputimage
temp_size: Template size (Fenstergröße)
thresh: non maxima suppression threshold (Schwellenwert zur Non-MaximaUnterdrückung)

Wer könnte bitte ein Hinweis oder eine mögliche Lösung der Aufgabe geben? Vielen Dank!!![/u]
 
Bijick
Ehrenmitglied

Ehrenmitglied



Beiträge: 914
Anmeldedatum: 18.06.07
Wohnort: Nürnberg
Version: R2006b, R2008b
     Beitrag Verfasst am: 14.11.2007, 17:10     Titel:
  Antworten mit Zitat      
Hallo Simon,

ich würde gern helfen, habe aber Schwierigkeiten, die Aufgabe zu verstehen.

1. Was bedeutet "Fenster um ein Pixel mit der Dimension 5x5"? Das Pixel kann wohl nicht die Dimension 5x5 haben... Aber was ist ein Fenster mit der Dimension 5x5? Ein Rahmen? Um welches Pixel? Ein beliebiges? Unten steht: "Es sollte möglich sein, mit verschiedenen Fenstergrößen zu arbeiten." Also doch nicht 5x5?

2. Okay: Angenommen ich habe so ein nxn-"Fenster", also eine Matrix M. Was bedeutet "Varianz in horizontaler Richtung"? Varianz der Zeilen oder innerhalb der Zeilen? Noch schwieriger finde ich "In Richtung der Diagonalen". Welche Formel?

3. Was ist eine "Nicht-Maxima Unterdruckung"? Auch, wenn da "Unterdrückung" stünde, wüsste ich nicht weiter.

Hier sind einige, die sich gut mit Matlab auskennen, aber wir können Dir nicht abnehmen, zuerst mal zu beschreiben, was Du inhaltlich machen möchtest. Vielleicht kannst Du ja die obigen Fragen beantworten, dann findet sich bestimmt eine Lösung.

Herzliche Grüße
Bijick
_________________

>> why
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
jochma
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 79
Anmeldedatum: 25.10.07
Wohnort: Oberbayern
Version: Version 7.0.0 (R14)
     Beitrag Verfasst am: 14.11.2007, 17:57     Titel:
  Antworten mit Zitat      
Da mich selbiges Thema auch interessiert, mein Wissen zum Thema:

Ein bildverarbeitender Operator wie der Moravec-Operator wird als Filtermatrix kleinerer Größe (wie z.B. 5x5) über eine (größere) Bildmatrix "geschoben" um das Bild z.B. zu glätten, Kanten zu detektieren oder markante Punkte zu entdecken.

Hier ein Beispiel für einen 3x3-Mittelwertfilter, der jeweils ein Pixel in der Bildmatrix nimmt, mit den Werten seiner 8 umliegenden Nachbarpixel aufsummiert wird (= Fenster um ein Pixel mit der Dimension 3x3) und der normierte (d.h. *1/9) Wert für das Pixel in der Ergebnisbildmatrix ausgegeben wird.
Im Anschluss kommt, je nachdem, in Zeilen- oder Spaltenrichtung das nächste Bildpixel dran.
Als Ergebnis glättet der Mittelwertfilter das Bild (mit einem 5x5-Mittelwertfilter würde das Bild noch mehr geglättet werden):

Code:

function[M]=mittelwertfilter(B,F)

% mittelwertfilter: Fillterung einer Bildmatrix mit einer 3 x 3 Filtermatrix
% i.d.R.: F=[1 1 1; 1 1 1; 1 1 1]
% F: Filtermatrix [3 x 3]
% B: Bildmatrix [r x c]

[r,c]=size(B);
m=3; n=3; s=0;
for i=1:r-2;
    for j=1:c-2;
        S=B(i:i+m-1,j:j+n-1);
        for a=1:m;
            for b=1:n;
                s=s+S(a,b)*1/9;
            end
        end
        M(i,j)=s;
        s=0;
    end
end
 


Für einen einfachen Mittelwertfilter der Art [1 1 1; 1 1 1; 1 1 1] ist es ohne Belang, ob er zunächst in horizontaler (sprich in Spaltenrichtung) oder vertikaler (in Zeilen-) Richtung durchgeführt wird (oder eben entlang der Diagonalen).
Bei inhomogeneren Filtermatrizen aber schon.

zu den Moravec-Formeln:
[url]
http://de.wikipedia.org/wiki/Interest-Operator
[/url]

Ich hoffe es stimmt alles soweit?

Bei der Frage nach der Implementierung bin ich allerdings ebenso überfragt...
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Nutzungsbedingungen  | Datenschutz  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2017 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.