java如何使用OpenCV实现大图中找小图的坐标位置

问题背景:我在做一个自动化的测试工具,通过大图找到小图的坐标,然后写入文件中或者上传到我的服务器生成一条记录,然后调用我的方法去执行点击操作,仅此而已。我查了很多资料,都有说道OpenCV,大多都是Python的,我想知道java是否也可以这样做?除此OpenCV的实现方式,是否还有其他思路可以实现我的需求,希望可以向大佬们学习。

问题描述:如下,小图是【网易云音乐】的图片,然后需要将这张图片在大图中找到它所在的坐标位置,然后返回横坐标和中坐标即可。我不知道该怎么做,还在摸索中,求大佬支招

 

小图:

大图:

 

使用opencv 模板定位

int method = Imgproc.TM_CCORR_NORMED;
int width = mat.cols() - template.cols() + 1;
int height = mat.rows() - template.rows() + 1;
Mat result = new Mat(width, height, CvType.CV_32FC1);
Imgproc.matchTemplate(mat, template, result, method);
Core.normalize(result, result, 0, 1, Core.NORM_MINMAX, -1, new Mat());
Core.MinMaxLocResult mmr = Core.minMaxLoc(result);
double x, y;
if (method == Imgproc.TM_SQDIFF_NORMED || method == Imgproc.TM_SQDIFF) {
  x = mmr.minLoc.x;
  y = mmr.minLoc.y;
} else {
  x = mmr.maxLoc.x;
  y = mmr.maxLoc.y;
}