问题标签 [cross-correlation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 各种距离测量的混淆:归一化互相关、归一化相关系数和巴塔查里亚系数
我对上述这些距离度量感到困惑-至于哪种距离度量对匹配图像相似度有用。我已经对这些措施进行了调查,这是我的结论。谁能告诉我我的距离测量是否出错。
1)归一化互相关:这适用于普通图像并提供旋转图像,它可以测量一定程度的相似性,它不适用于具有不同亮度/对比度的图像,但它应该根据 [ http://en.wikipedia ] 提供支持.org/wiki/Cross-correlation]。它不支持移位图像。
2)-归一化相关系数:匹配旋转和强度差异图像,但不支持移位图像。
3) Bhattacharya 系数 - 它适用于旋转和移位的图像,但对于具有强度差异的图像,即亮度或低对比度的图像,它不会检测到。
我知道所有这些数据相似性度量都取决于您拥有的数据集的类型,但是谁能告诉我,如果我的度量结果在任何地方都出错了?
r - 为什么R的ccf会说“系列'X'的自相关,滞后”?
在 R shell 中执行 a 和 b 之间的互相关:
为什么使用术语“自相关”?我认为“自相关”是序列与其自身滞后版本的相关性,而不是与另一个(可能滞后的)序列的相关性。
matlab - 在 Matlab 中使用互相关进行 3D 模板匹配
这是我尝试做的一个最小示例:
创建 3D 矩阵
创建 3D 模板
计算互相关(matlab 中的 3D 互相关)。我认为互相关与翻转模板的卷积相同。那是对的吗?
查找最佳匹配的下标
我读到必须减去最终坐标的模板大小的一半,但我不再拥有包含此信息的页面链接。但是,我认为如果不这样做,返回的坐标不是模板中心所在的位置,而是模板的一角。
作为我的示例的结果,我期望:x=2
, y=2
, z=4
. Matlab 告诉我它是x=4
, y=4
, z=4
. 但是,当将模板更改为
我得到正确的结果(x=3, y=3, z=3)
。
我必须改变什么才能得到正确的结果?
python - numpy 和 statsmodels 在计算相关性时给出不同的值,如何解释这个?
我找不到为什么使用计算两个系列 A 和 B 之间的相关性numpy.correlate
给我的结果与我使用得到的结果不同的原因statsmodels.tsa.stattools.ccf
这是我提到的这种差异的一个示例:
结果似乎有质的不同,这种差异从何而来?
c++ - Matlab 仍然比 C++ 中的 opencv 慢吗
根据这个链接和这个,据说opencv比matlab快得多。第一个链接写于 2012 年 3 月,第二个链接稍晚一些。
在第一个链接中,它说,“用 OpenCV 编写的程序比用 Matlab 编写的类似程序运行得快得多。” 和费率Matlab: 2/10
和OpenCV: 9/10
考虑一下,我有两个浮点矩阵,其大小为1024*1024(mat1和mat2)。我想关联这个矩阵。
在matlab中,
在opencv中,C++
据我所知,c 和 c++ 的速度大致相同。
所以,我想知道,为什么 matlab 在进行互相关时比 opencv/c++ 快。是因为我在比较错误的东西(即使结果相同)还是 matlab 的互相关实现比 opencv 实现快一倍?
请注意,我正在使用Matlab 2013a
and Visual Studio 2010
。
谢谢,
matlab - 频域中的逐块互相关
我在 MATLAB 中有以下代码来计算 2 个序列 x 和 y 的直接互相关:
上述结果与 xcorr(x,y) 完全匹配。美好的!现在,我想通过从 x 和 y 一次获取 8 个样本来逐块执行相同的操作。那是:
为了获得与使用整个序列相同的结果,我的下一步应该是什么?我知道我应该执行重叠添加方法,但我不确定每个块应该附加多少个零,以及相邻块的重叠长度应该是多少才能达到与 xcorr(x,y) 相同的结果?请通过扩展上述代码来帮助我在频率域中进行块级互相关。
提前致谢!
android - 互相关查找声纳回声
我正在尝试在 Android 上的录音中检测我的啁啾回声,似乎互相关是找到两个信号的 FFT 相似位置的最合适方法,从那里我可以识别互相关数组中的峰值将对应于距离。
据我了解,我提出了以下互相关函数。这个对吗?我不确定是否在开头添加零并重新开始一些元素?
次要问题:
根据这个答案,也可以这样计算
我根本不明白,但似乎很容易实现。那就是说我失败了(假设我的xcorr1是正确的)。我觉得我完全误解了这一点?
假设我两个都工作了,考虑到数组将包含几千个元素,哪个函数最合适?
编辑:顺便说一句,我已经尝试在 FFT 版本的两个数组的两端添加零。
在 SleuthEye 的回应后编辑:
您能否验证一下,因为我正在处理“实际”数据,所以我只需要通过进行真正的转换来完成一半的计算(实际部分)吗?
从您的代码中,看起来 REAL 转换返回的数组中的奇数元素是虚构的。这里发生了什么?
我如何从实数数组变为复数?或者这是转换的目的吗?将实数移入复数域?(但实数只是复数的一个子集,所以它们不是已经在这个域中了吗?)
如果 realForward 实际上返回的是虚数/复数,它与 complexForward 有何不同?我如何解释结果?复数的大小?
对于我对变换缺乏了解,我深表歉意,我到目前为止才研究过傅立叶级数。
感谢您的代码。这是“我的”工作实现:
然而,直到每个大约 5000 个元素,xcorr1 似乎更快。我是否在做任何特别慢的事情(也许是不断“更新”内存——也许我应该转换为 ArrayList)?或者我生成数组来测试它们的任意方式?或者我应该做共轭而不是逆转它?也就是说,性能并不是真正的问题,因此除非有明显的东西,否则您无需费心指出优化。
audio - 使用互相关检测信号的开始
我正在使用互相关来查找音频信号在录音中出现的位置。执行此操作时,始终可以在录音中的信号内某处找到相关性最高的点,但我正在寻找一种方法来找到该信号在录音中开始的点。有没有人知道这样做的方法,或者互相关是否可以完成这项工作?提前致谢。