void Finder::find_all(const char *target, double min_similarity){ const char* p = target; const char* ext = p + strlen(p) - 3; if (strncmp(ext,"png",3) != 0){ TextFinder* wf = new TextFinder(_source); if(_roi.width>0) wf->setROI(_roi.x, _roi.y, _roi.width, _roi.height); // get name after bundle path, which is // assumed to be the query word int j; for (j = (strlen(p)-1); j >=0; j--){ if (p[j]=='/') break; } const char* q = p + j + 1; wf->find(q,0.6); if(_finder) delete _finder; _finder = wf; }else { TemplateFinder* tf = new TemplateFinder(_source); if(_roi.width>0) tf->setROI(_roi.x, _roi.y, _roi.width, _roi.height); tf->find_all(target, min_similarity); if(_finder) delete _finder; _finder = tf; } }
int main(int argc, char *argv[]) { QApplication a(argc, argv); TextFinder w; w.show(); return a.exec(); }
int main(int argc, char *argv[]) { Q_INIT_RESOURCE(textfinder); QApplication a(argc, argv); TextFinder w; w.show(); return a.exec(); }
//! [0] int main(int argc, char *argv[]) { Q_INIT_RESOURCE(textfinder); QApplication app(argc, argv); TextFinder *textFinder = new TextFinder; textFinder->show(); return app.exec(); }
int TextFinder::selectNearestFindMatch(const WebFloatPoint& point, WebRect* selectionRect) { TextFinder* bestFinder = 0; int indexInBestFrame = -1; float distanceInBestFrame = FLT_MAX; for (WebLocalFrameImpl* frame = &m_ownerFrame; frame; frame = toWebLocalFrameImpl(frame->traverseNext(false))) { float distanceInFrame; TextFinder& finder = frame->ensureTextFinder(); int indexInFrame = finder.nearestFindMatch(point, distanceInFrame); if (distanceInFrame < distanceInBestFrame) { bestFinder = &finder; indexInBestFrame = indexInFrame; distanceInBestFrame = distanceInFrame; } } if (indexInBestFrame != -1) return bestFinder->selectFindMatch(static_cast<unsigned>(indexInBestFrame), selectionRect); return -1; }
// ************************************************************************** // * Main Loop // ************************************************************************** void loop() { long currentTime = millis(); if (finder.find("SCANEND")){ scanning = false; } if(scanning){ mySerial.print("SCAN"); } if (currentTime - lastTimeSent > sendInterval && xpos < XSIZE){ if (scanning==false){ line_following.go_forward(50); delay(2000); line_following.all_stop(); xpos++; lastTimeSent = currentTime; scanning = true; mySerial.print("SCAN"); } } }