protected void setMatch(Object m) { if (null != m && m instanceof Match) { match = new Match((Match) m); } }
public Match getMatch() { if (_finder != null) { _finder.destroy(); } return (_match == null) ? _match : new Match(_match); }
private void callChangeObserver(FindResults results) { int n; log(lvl, "changes: %d in: %s", results.size(), observedRegion); for (String name : eventNames.keySet()) { if (eventTypes.get(name) != ObserveEvent.Type.CHANGE) { continue; } n = (Integer) eventNames.get(name); List<Match> changes = new ArrayList<Match>(); for (int i = 0; i < results.size(); i++) { FindResult r = results.get(i); if (r.getW() * r.getH() >= n) { changes.add(observedRegion.toGlobalCoord(new Match(r, observedRegion.getScreen()))); } } if (changes.size() > 0) { long now = (new Date()).getTime(); eventCounts.put(name, eventCounts.get(name) + 1); ObserveEvent observeEvent = new ObserveEvent(name, ObserveEvent.Type.CHANGE, null, null, observedRegion, now); observeEvent.setChanges(changes); observeEvent.setIndex(n); Observing.addEvent(observeEvent); Object callBack = eventCallBacks.get(name); if (callBack != null) { log(lvl, "running call back"); ((ObserverCallBack) callBack).changed(observeEvent); } } } }
public List<Match> listText(ScreenImage simg, Region parent, ListTextMode mode) { Mat mat = Image.convertBufferedImageToMat(simg.getImage()); OCRWords words = Vision.recognize_as_ocrtext(mat).getWords(); List<Match> ret = new LinkedList<Match>(); for (int i = 0; i < words.size(); i++) { OCRWord w = words.get(i); Match m = new Match(parent.x + w.getX(), parent.y + w.getY(), w.getWidth(), w.getHeight(), w.getScore(), parent.getScreen(), w.getString()); ret.add(m); } return ret; }
} else if ("M".equals(oType)) { double score = dblFromJSON(json, 5) / 100; newObj = new Match(new Region(rectFromJSON(json)), score); ((Match) newObj).setTarget(intFromJSON(json, 6), intFromJSON(json, 7)); } else if ("L".equals(oType)) {
if (f.hasNext()) { log(lvl + 1, "checkLastSeen: still there"); match = new Match(new Region(img.getLastSeen()), img.getLastSeenScore()); match.setTimes(0, (new Date()).getTime() - lastSearchTime); hasMatch = true;
/** * * @return the next match or null */ @Override public Match next() { Match match = null; if (hasNext()) { FindResult fr = _results.get(_cur_result_i++); IScreen parentScreen = null; if (screenFinder && _region != null) { parentScreen = _region.getScreen(); } match = new Match(fr, parentScreen); match.setOnScreen(screenFinder); fr.delete(); if (_region != null) { match = _region.toGlobalCoord(match); } if (_pattern != null) { Location offset = _pattern.getTargetOffset(); match.setTargetOffset(offset); } match.setImage(_image); } return match; } }
set(new Match((int) fres.maxLoc.x + owner.offX, (int) fres.maxLoc.y + owner.offY, probe.width(), probe.height(), fres.maxVal, null, null));