2017-02-20 67 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%可能发生?鉴于我有很多目标加上一些鬼点。 –