Forum: Digitale Signalverarbeitung / DSP / Machine Learning Bestimmung lokale Maxima in Matlab


von Fudel (Gast)


Angehängte Dateien:

Lesenswert?

Gegeben ist ein Akkumulatorbild aus einer Hough-Transformation, ähnlich 
wie hier (keine Sorge, das Bild kommt...):
Wie das Bild ensteht ist eher weniger wichtig, wichtig ist nur zu 
verstehen, dass die beiden Achsen ein entsprechendes Tupel in meinem 
Wertebereich darstellen, und der Wert im Bild die Häufigkeit des 
Auftretens. Dabei bedeuten dunkle Bereiche ein geringes Auftreten, helle 
Bereiche (die weißen Dinger) ein hohes Aufkommen. Nun hat die Erzeugung 
des Bildes gottseidank zur Folge, dass genau 5 lokale Maxima in diesem 
Bild auftreten, und was ich jetzt gerne hätte, wäre die Position dieser 
Maxima in matlab zu bestimmen.

 wie ich auf dieses Bild gekommen bin , könnte ich euch noch geben, habe 
ein kleines Matlab-Programm fertig gemacht.

Nun... hättet ihr eventuell ein Matlab-Befehl oder ähnliches im Ärmel, 
dass genau für diese Problemstellung laufen würde?   Würd mir sehr 
weiterhelfen :-)

von Curtis Newton (Gast)


Lesenswert?

Hallo,

hast Du Dir schon mal die Hilde zu diff und find angeschaut?

HTH
Curtis

von Fudel (Gast)


Lesenswert?

Hallo Curtis !

wenn ich ehlich bin, mir sagt das "die Hilde zu diff und find", was 
könnte das heissen ?

MFG
Fudel

von Thomas (Gast)


Lesenswert?

Vielleicht kannste dich mit dem hier auseinander setzen:
Beitrag "Houghtransformation unter Matlab"

von Fudel (Gast)


Lesenswert?

Hallo Thomas!

danke, das war mein Beitrag, nur unter anderen namen, die beide 
beiträgen sind meine, und ich brauch jeden tipp ,der mir weiterhelfen 
kann, würde mich freuen,meine Aufgabe ist 90% fertig, ich rauchen nur 
noch dieses kleinen Probelm lösen mit "lokalte-Maxima".

MFG

Fudel

von Curtis Newton (Gast)


Lesenswert?

Sorry,

ich meinte die HILFE zu diff und find!

Curtis

von Curtis Newton (Gast)


Lesenswert?

Hallo,

ungetestet!:

function [x,n]=localmax(X)

[m,n] = size(X);

X0 = X(2:m-1,2:n-1);

X1 = X(1:m-2,2:n-1); X2 = X(3:m,2:n-1);
X3 = X(2:m-1,1:n-2); X4 = X(2:m-1,3:n);

[i,j] = find((X1<X0) & (X2<X0) & (X3<X0) & (X4<X0));

i = i + 1; j = j + 1;

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.