Esempio n. 1
0
	void CPlayerInterpolator::process(const shared_ptr<CMessage>& message) {
		switch( message->getMessageType() ) {
			case Message::PLAYER_SNAPSHOT: {
				storeSnapshot( static_pointer_cast<CMessagePlayerSnapshot>(message) );
				break;
			}
		}
	}
Esempio n. 2
0
/**
 * @function main
 */
int main( int argc, char* argv[] ) {

  // Open channels with marker-position information
  if( !openComm() ) { printf("Error opening comm \n"); return 1; }
  
  // Marker detector
  mMd.setMarkerSize(5);
  
  // Open device
  cv::VideoCapture capture( cv::CAP_OPENNI2 );  
  
  if( !capture.isOpened() ) {
    std::cout << "t * Could not open the capture object"<<std::endl;
    return -1;
  }
  printf("\t * Opened device \n");
  
  capture.set( cv::CAP_PROP_OPENNI2_MIRROR, 0.0 ); // off
  capture.set( cv::CAP_PROP_OPENNI_REGISTRATION, -1.0 ); // on
  
  printf("\t * RGB dimensions: (%f,%f), Depth dimensions: (%f,%f) \n",
	 capture.get( cv::CAP_OPENNI_IMAGE_GENERATOR + cv::CAP_PROP_FRAME_WIDTH ),
	 capture.get( cv::CAP_OPENNI_IMAGE_GENERATOR + cv::CAP_PROP_FRAME_HEIGHT ),
	 capture.get( cv::CAP_OPENNI_DEPTH_GENERATOR + cv::CAP_PROP_FRAME_WIDTH ),
	 capture.get( cv::CAP_OPENNI_DEPTH_GENERATOR + cv::CAP_PROP_FRAME_HEIGHT ) );
  
  // Set control panel
  int value;
  cv::namedWindow( mWindowName );
  // Set mouse callback 
  cv::setMouseCallback( mWindowName, onMouse, 0 );

  // Set buttons
  cv::createTrackbar( "T2_tb", "T2", &value, 255, NULL, NULL );
  cv::createButton( "START", start, 
		    NULL, cv::QT_PUSH_BUTTON,
		    false );
  cv::createButton( "STOP", stop, 
		    NULL, cv::QT_PUSH_BUTTON,
		    false );
  cv::createTrackbar( "T3_tb", "T3", &value, 255, NULL, NULL );
  cv::createButton( "Show points", showPoints, 
		    NULL, cv::QT_PUSH_BUTTON,
		    false );
  cv::createTrackbar( "T4_tb", "T4", &value, 255, NULL, NULL );
  cv::createButton( "Calibrate", calibrate, 
		    NULL, cv::QT_PUSH_BUTTON,
		    false );
  
  // Loop
  for(;;) {
    if( !capture.grab() ) {
      std::cout << "\t * [DAMN] Could not grab a frame" << std::endl;
      return -1;
    }

    capture.retrieve( mRgbImg, cv::CAP_OPENNI_BGR_IMAGE );
    capture.retrieve( mDepthImg, cv::CAP_OPENNI_POINT_CLOUD_MAP );

    update_robotInfo();
    mMd.detect( mRgbImg );

    // If start
    if( !stop_flag ) {
      grabSnapshot( 0, NULL );
      storeSnapshot( 0, NULL );
    }

    cv::imshow( mWindowName, mRgbImg );
    
    char k = cv::waitKey(30);
    if( k == 'q' ) {
      printf("\t * [PRESSED ESC] Finishing the program \n");
      break;
    }
    aa_mem_region_local_release();
    
  } // end for
  
  return 0;

}