首先加载两张图片,都是4通道的图片,1是源图片,2是背景透明的搜索对象
Mat source = imread("D:\\1.png", IMREAD_UNCHANGED);
Mat tmplImg = imread("D:\\2.png", IMREAD_UNCHANGED);
然后获取模板图片的alpha通道 作为遮罩蒙版(要忽略的部分)
std::vector<Mat> channels_4;
split(tmplImg, channels_4);
// channels_4[3] 就是了。
然后调用匹配函数
Mat result;
double dbMin;
Point minLoc;
matchTemplate(source, tmplImg, result, TM_SQDIFF_NORMED, channels_4[3]);
minMaxLoc(result, &dbMin, NULL, &minLoc, NULL, Mat());
//dbMin越接近于0 结果越准确,说明匹配到了
minLoc.x ,minLoc.y 就是匹配的对象在源图片上的坐标。