//En funcion de los resultados del tratamiento, se generan unas coordenadas relativas para pasar al cursor // Estas coordenadas se envian a la interfaz (MainWindow) emitiendo una señal que las contiene. void DecisionThread::onChannelResults(QStringList results){ int hMov=0; int vMov=0; //qDebug()<<"Counter: "<<blinkCounter; if(results[1]=="UP"){ blinkCounter++; vMov = -units; } else if(results[1]=="DOWN"){ vMov = units; checkBlink(); } else{ checkBlink(); } if(results[0]=="RIGHT"){ hMov = units; } if(results[0]=="LEFT"){ hMov = -units; } QList<int> coord; coord << hMov << vMov; emit MovementSignal(coord); //qDebug()<<"SIGNAL >>> Moviemiento: horizontal "<<coord[0]<<" vertical "<<coord[1]<<endl; }
int main(){ bool fin = false; int STEP_WAIT = 100; Mat HUD = Mat::zeros(Y_RESOLUTION, X_RESOLUTION, CV_8UC3); int step = 0; if(initWriter()) return -1; while(!fin){ step ++; int c = waitKey(10); if( (char)c == 27 ) { fin = true; } //Esc key if( (char)c == '+') { STEP_WAIT = STEP_WAIT + 2; } if( (char)c == '-') { STEP_WAIT = STEP_WAIT - 2; } if( (char)c == '0') { checkBlink(0); } if( (char)c == '1') { checkBlink(1); } if( (char)c == '2') { checkBlink(2); } if( (char)c == '3') { checkBlink(3); } if( (char)c == '4') { checkBlink(4); } drawHUD(&HUD); std::cout<<"Tasto: "<<c<<std::endl; if(step >= STEP_WAIT){ step = 0; stepWriter(); } imshow("Writer",HUD); } return 0; }