2017-02-20 2 views
0

Ich versuche, einige Daten mit x und y-Koordinaten, ist aber ich bin vor zwei Herausforderungen:2D-Daten in Matlab Binning

  1. Binweite in x- und y-Dimensionen
  2. Lagerplatz (wo sollte die Fachkante Start)

Ich habe einige Sensoren, die ein Ziel verfolgen. Jeder Sensor erhält die Position des Ziels im 2D-Raum, aber aufgrund von Lesefehlern ist die Position, die ich von jedem Sensor erhalte, unterschiedlich. Daher würde ich gerne die Messwerte aussortieren und dann vielleicht den Durchschnitt der Messwerte in den Behälter nehmen, um den Ort des Ziels zu erhalten.

Ich frage mich, wenn jemand einen Ansatz zu einer möglichen Lösung oder vielleicht ein Buch über Binning Theorie empfehlen könnte, so dass ich eine Vorstellung davon bekommen konnte, wie mein Problem

+0

In der Bildverarbeitung gespeichert werden I 2x2 Binning verwenden, wie folgt: I = 'im2double (imread ('cameraman.tif')); J = (I (1: 2 : Ende, 1: 2: Ende) + I (2: 2: Ende, 1: 2: Ende) + I (1: 2: Ende, 2: 2: Ende) + I (2: 2: Ende, 2: 2: end))/4; imshow (J) ' – Rotem

+0

Es könnte einfacher sein, als über die Binning-Theorie zu lesen,' histcounts2' lässt Sie 2D-Daten mit einer bestimmten Anzahl von Bins in jeder Dimension sortieren und gibt auch die Kanten zurück. Wenn Sie Ihre eigenen Kanten angeben möchten, können Sie die Spannweite Ihrer Daten ermitteln und 'meshgrid' verwenden, um Ihre eigenen Kanten zu erzeugen. –

Antwort

2

in Angriff zu nehmen Sie histcounts2 Binning in 2D durchführen können . Um Lagerorte zu erhalten, könnten Sie den 2D Raum all Ihrer Messungen nehmen und ihn in ein nxn Gitter teilen (wählen Sie n als Ihren Wunsch). Wenn die Koordinaten in einer 2 Säulenmatrix P

x = P(:,1); y = P(:,2) 
xmax = max(x); xmin = min(x); 
ymax = max(y); ymin = min(y); 
N = 10; % Lets say number of bins we want 
dx = (xmax - xmin)/(N-1); dy = (ymax - ymin)/ (N-1); % N-1 will be clear in the next two lines 
Xedges = xmin - dx/2 : dx : xmax + dx/2; % The outermost edges fall outside the range of data 
Yedges = ymin - dy/2 : dy : ymax + dy/2; 
N = histcounts2(x,y,Xedges,Yedges) 
+0

Ich bekomme, wie histcounts2 funktioniert, mein Problem ist jedoch, dass ich nicht weiß, wie man die Parameter dafür setzt. Zum Beispiel, die Größe des Behälters, ist es vielleicht auf der Fehlervarianz in meinen Lesungen basiert? oder muss ich noch etwas anderes berücksichtigen? Etwas anderes ist die Position des Behälters, es könnte sein, dass ich 3 verschiedene Messwerte habe und ich einen Behälter brauche, der alle 3 Punkte enthält, gibt es eine Möglichkeit, 100% sicher zu sein, dass dies passieren könnte? Da ich viele Ziele und einige Geisterpunkte habe. –