【问题标题】:Strange pattern on atand results distributionatand 结果分布的奇怪模式
【发布时间】:2015-08-17 13:46:36
【问题描述】:

我有粒子轨迹,是在对图像序列(20 个粒子,3500 帧)进行跟踪后获得的。我需要得到这些粒子的速度矢量角度的分布。每帧上粒子的位置存储在矩阵tracksXtracksY 中,每个3500x20 双倍。这是我正在使用的代码:

speedX = diff(tracksX);
speedY = diff(tracksY);
angles = atand(speedY./speedX);
anglesh = angles(:);
figure(1); hist(anglesh,360);

但是,我在直方图上看到了一个奇怪的对称模式,在 [-0.5, 0] bin 中有一个巨大的峰值,在 [0, 0.5] bin 中有零角度。 我没有足够的代表来添加图片,所以这里有一个链接Weird distribution figure

这可能是因为 Matlab 执行了一些舍入吗?如何解决? 粒子的运动有点随机,倾向于在 X 方向上移动,对应于 0° - 20° 的 bin,所以我非常怀疑这种模式是否会出现在初始数据中。

【问题讨论】:

    标签: matlab rounding histogram angle


    【解决方案1】:

    让我猜一下:位置是以像素为单位的,粒子在时间点之间不会移动很多像素?

    您看到的是一堆离散化工件。

    • 在 0 处达到峰值,反映静止或向右移动的像素
    • 在 +/- 45 度和 90 度处的峰值反射粒子向上/向下或沿对角线移动一个像素。
    • 更多的移动峰,例如2 个向右,1 个在顶部

    根据您的数据,您可能能够执行一些粒子位置拟合来估计亚像素定位(尽管您应该小心正确设置它以避免像素锁定),或者您可以人为地使用更长的时间步骤(例如,在 1st-4th、2nd-5th、3rd-6th 时间点之间取差来制作直方图)使这看起来更合理。

    【讨论】:

    • 谢谢,看来是这样。我以为距离足够长,但结果确实有足够的短距离运动来产生这样的伪影。
    猜你喜欢
    • 2016-01-03
    • 2022-08-17
    • 1970-01-01
    • 1970-01-01
    • 2013-05-18
    • 1970-01-01
    • 2015-10-04
    • 2016-03-15
    • 1970-01-01
    相关资源
    最近更新 更多