示例#1
0
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;
   }     
}
示例#2
0
// **************************************************************************
// *                            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");
    } 
  }
}