static float bwImagesSimilar_similarity = 0.99f; static bool bwImagesSimilar(BWImage big, BWImage pat) { ret bwImagesSimilar(big, pat, bwImagesSimilar_similarity); } static bool bwImagesSimilar(BWImage big, BWImage pat, float similarity) { int wp = pat.getWidth(), hp = pat.getHeight(); int w = big.getWidth(), h = big.getHeight(); if (wp != w || hp != h) false; float max = (1f-similarity)*wp*hp; float diff = 0; for (int yy = 0; yy < hp; yy++) for (int xx = 0; xx < wp; xx++) { diff += Math.abs(big.getPixel(xx, yy)-pat.getPixel(xx, yy)); if (diff > max) false; } true; }