private <PSC> float getSimiliarity(PSC ptn) { float similarity = -1f; if (ptn instanceof Pattern) { similarity = ((Pattern) ptn).getSimilar(); } if (similarity < 0) { similarity = (float) Settings.MinSimilarity; } return similarity; }
/** * create a new Image with Pattern aspects from an existing Pattern * @param p a Pattern * @return the new Image */ public static Image create(Pattern p) { Image img = p.getImage().copy(); img.setIsPattern(true); img.setSimilarity(p.getSimilar()); img.setOffset(p.getTargetOffset()); img.setWaitAfter(p.getTimeAfter()); return img; }
/** * do a find op with the given pattern in the Finder's image * (hasNext() and next() will reveal possible match results) * @param aPtn Pattern * @return null. if find setup not possible */ public String find(Pattern aPtn) { if (!valid) { log(-1, "not valid"); return null; } if (aPtn.isValid()) { _pattern = aPtn; _findInput.setTarget(aPtn.getImage().getMatNative()); _findInput.setSimilarity(aPtn.getSimilar()); _results = Vision.find(_findInput); _cur_result_i = 0; return aPtn.getFilename(); } else { return null; } }
isValid = true; pImage = ((Pattern) pprobe).getImage(); similarity = ((Pattern) pprobe).getSimilar();
/** * do a find op with the given pattern in the Finder's image * (hasNext() and next() will reveal possible match results) * @param aPtn Pattern * @return null. if find setup not possible */ public String findAll(Pattern aPtn) { if (!valid) { log(-1, "not valid"); return null; } if (aPtn.isValid()) { _image = aPtn.getImage(); _pattern = aPtn; _findInput.setTarget(aPtn.getImage().getMatNative()); _findInput.setSimilarity(aPtn.getSimilar()); _findInput.setFindAll(true); Debug timing = Debug.startTimer("Finder.findAll"); _results = Vision.find(_findInput); _cur_result_i = 0; timing.end(); return aPtn.getFilename(); } else { return null; } }
score = (float) (img.getLastSeenScore() - 0.01); if (ptn != null) { if (!(ptn.getSimilar() > score)) { shouldCheckLastSeen = true;