void CPlayerInterpolator::process(const shared_ptr<CMessage>& message) { switch( message->getMessageType() ) { case Message::PLAYER_SNAPSHOT: { storeSnapshot( static_pointer_cast<CMessagePlayerSnapshot>(message) ); break; } } }
/** * @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; }