2017-02-20 66 views
0

裝箱我想斌x和y的一些數據座標,但是我現在面臨的挑戰2:2D數據在MATLAB

  1. 箱寬度在X和Y尺寸
  2. 元位置(應該在哪裏bin edge start)

我有一些跟蹤目標的傳感器。每個傳感器在2D空間獲取目標的位置,但是由於讀取錯誤,我從每個傳感器獲得的位置不同。因此,我希望能夠讀取讀數,然後可以取出箱中讀數的平均值以獲取目標的位置。

我想知道,如果有人可以推薦一個方法可能的解決方案或許一本關於分檔的理論,這樣我可以得到如何解決我的問題

+0

在我使用的2x2像素合併圖像處理如下:'I = im2double(imread( 'cameraman.tif')); J =(I(1:2 :結束,1:2:結束)+ I(2:2:結束,1:2:結束)+ I(1:2:端,2:2:結束)+ I(2:2:端,2: 2:end))/ 4; imshow(J)' – Rotem

+0

它可能比閱讀binning理論更容易,'histcounts2'允許​​您在每個維度中以指定數量的bin來存儲2D數據,並返回邊緣。如果你想指定你自己的邊緣,你可以得到你的數據的跨度,並使用'meshgrid'生成你自己的邊緣。 –

回答

2

您可以使用histcounts2在2D進行合併的想法。要獲取箱位置,您可以將所有測量值的二維空間分成一個nxn網格(選擇n作爲您的願望)。如果座標被保存在一個2列矩陣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

我得到histcounts2是如何工作的,但是我的問題是我不知道如何爲它設置參數。 例如,bin的大小,它可能是基於我讀數中的誤差方差嗎?或者還有其他需要考慮的事項。別的地方是垃圾箱的位置,可能是這種情況,我有3個不同的讀數,我需要一個垃圾箱,其中包括所有的3點,有沒有辦法確保100%可能發生?鑑於我有很多目標加上一些鬼點。 –