首先是公式的完全等价!!!!!!!:
注:下面出现NCC指的是ZNCC
即
即《An accelerating CPU based correlation-based image alignment
for real-time automatic optical inspection》论文中出现的公式
即 opencv doc 所述
二.查看opencv源码验证,发现with mask的实现用的是《An accelerating CPU based correlation-based image alignment
for real-time automatic optical inspection》论文中出现的公式
上图result里的减号即
公式3里面的分母中的减号
此时的result 即 公式3里的分子
再看
上图的 temp_res 即下图
的
这一项, norm_img即
根号内部的值
然后是
最终结果: 分子
除以分母 x
即 norm_templ
关于 Fastest Image Pattern Matching中MatchTemplate的具体实现 见GitHub - DennisLiu1993/Fastest_Image_Pattern_Matching: Using C++/MFC/OpenCV to build a NCC-Based Image Matching algorithm
最后想说:with mask 比 without mask 计算复杂,有没有更快的方法,
如果要实现模板旋转(为了更快的速度),目标场景图像不选中,是不是必须使用with mask?
2022-07-01:
加上mask后 该图使用 Fastest_Image_Pattern_Matching 检测如图右下角三角形分数较不加高,结果稳定