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; } }
// ************************************************************************** // * 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"); } } }