bytedeco/javacv

Is there a possibility in JavaCV to compare images that are not the same size when one is shorter and the other is narrower

Open

#1.977 geöffnet am 31. Jan. 2023

Auf GitHub ansehen
 (1 Kommentar) (0 Reaktionen) (0 zugewiesene Personen)Java (1.583 Forks)batch import
help wantedquestion

Repository-Metriken

Stars
 (6.985 Stars)
PR-Merge-Metriken
 (Keine gemergten PRs in 30 T)

Beschreibung

Hi, I'm looking for an algorithm to normalize images to be able to compare them with QualitySSIM.compute() method.

I've created the below code which works fine but just in case one picture is small than the second, but in case one is shorter and one is narrower the program failed.

    Mat result = new Mat();
    Mat resultMask = new Mat();
    opencv_imgproc.matchTemplate(base, screenShot, result, opencv_imgproc.TM_CCORR);

    double[] min = new double[2], max = new double[2];
    Point minLoc = new Point(), maxLoc = new Point();

    opencv_core.minMaxLoc(result, min, max, minLoc, maxLoc,resultMask);
    Rect r = new Rect(maxLoc, new Point(maxLoc.x() + 619, maxLoc.y() + 713));
    scrnShtForCompare = new Mat(bigMat, r);
}
 Scalar ssim = QualitySSIM.compute(base,screenshot, diffImage);
    double matchingPercentages=( (width+height) /(base.cols()+base.rows())) * ssim.get(0);

Any help??

Contributor Guide