You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何图像处理中(互)相关运算不满足交换律?

相关运算不满足交换律的示例验证

你测试的示例之所以结果相同,核心原因有两个:一是你选择的模板F = [1, 2, 3]是对称数组(反转后与原数组完全一致);二是你可能混淆了相关运算中两个操作数的角色——相关运算的本质是一个数组作为模板在另一个数组(信号)上滑动,对应元素相乘求和,交换两者的角色后,结果的长度和内容都会发生变化。

关键原理回顾

卷积满足交换律,是因为卷积会先将其中一个数组反转,再做滑动相乘求和;而相关运算不会反转任何数组,直接滑动对应相乘,因此仅当其中一个数组是对称数组时,交换后的结果才会在特定模式下看起来一致,否则交换律不成立。

反例演示

我们选择非对称模板和长度不同的信号来验证:

  • 非对称模板 T = [1, 0, 2](反转后为[2, 0, 1],与原数组不同)
  • 信号 S = [3, 2, 1, 4](长度4)

1. 计算 T corr S(模板T在信号S上滑动,valid模式,仅保留完全重叠的结果)

结果长度为 len(S) - len(T) + 1 = 4 - 3 + 1 = 2:

  • 第一个元素:1×3 + 0×2 + 2×1 = 3 + 0 + 2 = 5
  • 第二个元素:1×2 + 0×1 + 2×4 = 2 + 0 + 8 = 10
    最终结果:[5, 10]

2. 计算 S corr T(信号S作为模板在T上滑动,same模式,结果长度与原信号T一致)

由于模板S长度大于信号T,需要补零后滑动:

  • 第一个元素:3×1 + 2×0 + 1×2 = 3 + 0 + 2 = 5
  • 第二个元素:2×1 + 1×0 + 4×2 = 2 + 0 + 8 = 10
  • 第三个元素:1×1 + 4×0 + 0×2 = 1 + 0 + 0 = 1
    最终结果:[5, 10, 1]

显然,[5, 10] 和 [5, 10, 1] 长度与内容均不相同,直接证明了相关运算不满足交换律。

补充说明

如果坚持使用valid模式,当模板长度大于信号长度时,S corr T 将没有完全重叠的位置,结果为空,与T corr S的非空结果差异更明显。


内容的提问来源于stack exchange,提问作者Zeus Kim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 05:30:11