Java OPENCV 模板匹配给出了错误的坐标?

Java OPENCV Template Matching gives wrong coordinates?

所以基本上我使用的是 Opencv 模板匹配,它在主图像中找到了正确的匹配,但是给定的匹配坐标是错误的。

主图

子图像

结果

正如您在第三张图片中所见,算法找到了正确的匹配项。我还写了一个 print x, y 来查看匹配的坐标,这给了我以下坐标:330、1006。x 的值正确但 y 的值不正确?这怎么可能?

模板匹配方法代码:

public void FindImageInFOE() {
    System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
    Mat source = null;
    Mat template = null;
    String filePath = "C:\Users\Gerrit\Desktop\";
    //Load image file
    source = Imgcodecs.imread(filePath + "jpgbeeld.jpg");
    template = Imgcodecs.imread(filePath + "jpghelpen.jpg");

    Mat outputImage = new Mat();
    int machMethod = Imgproc.TM_CCOEFF;
    //Template matching method
    Imgproc.matchTemplate(source, template, outputImage, machMethod);

    Core.MinMaxLocResult mmr = Core.minMaxLoc(outputImage);
    Point matchLoc = mmr.maxLoc;
    //Draw rectangle on result image
    Imgproc.rectangle(source, matchLoc, new Point(matchLoc.x + template.cols(),
            matchLoc.y + template.rows()), new Scalar(255, 255, 255));

    x = matchLoc.x;
    y = matchLoc.y;

    Imgcodecs.imwrite(filePath + "succes.png", source);
    System.out.println("Complated.");
}

Y坐标正确,是从屏幕顶部算起的。

左上角是 (0,0),右下角是 (1920,1080) 全高清