void World::drawRunningState() { setUpCamera(); drawBackground(); //Rotate the arena glRotatef(xRotation + xRotationDelta, 1, 0, 0); glRotatef(zRotation + zRotationDelta, 0, 0, 1); glPushMatrix(); //Move to center glTranslatef((-length / 2.0) , (-length / 2.0), 0); arena->draw(); glPopMatrix(); }
int main() { Initialize(); _delay_ms(100); setUpCamera(); _delay_ms(100); //Set current Mode (temporary) nextMode = CAPTURE; sei (); while(1) { switch (nextMode) { case IDLE: ///Don't do anything, just chill break; case CAPTURE: ///Turn on camera if necessary if (cameraOn == 0) { turnOnCamera(); } break; case SENDING: //SEND DATA CALL HERE sendLineBuffer(); break; case STEPPING: //Enable stepper motor timer here break; } } }
void Model::setUp() { setUpSettings(); setUpCamera(); }
void VideoCapture::start() { loadConfig(); if (useCamera) setUpCamera(); if (useVideo) setUpVideo(); if (!capture) std::cerr << "Capture error..." << std::endl; int input_fps = cvGetCaptureProperty(capture, CV_CAP_PROP_FPS); std::cout << "input->fps:" << input_fps << std::endl; IplImage* frame1 = cvQueryFrame(capture); frame = cvCreateImage(cvSize((int)((frame1->width*input_resize_percent) / 100), (int)((frame1->height*input_resize_percent) / 100)), frame1->depth, frame1->nChannels); //cvCreateImage(cvSize(frame1->width/input_resize_factor, frame1->height/input_resize_factor), frame1->depth, frame1->nChannels); std::cout << "input->resize_percent:" << input_resize_percent << std::endl; std::cout << "input->width:" << frame->width << std::endl; std::cout << "input->height:" << frame->height << std::endl; double loopDelay = 33.333; if (input_fps > 0) loopDelay = (1. / input_fps)*1000.; std::cout << "loopDelay:" << loopDelay << std::endl; std::cout << "Press 'ESC' to stop..." << std::endl; bool firstTime = true; do { frameNumber++; frame1 = cvQueryFrame(capture); if (!frame1) break; cvResize(frame1, frame); if (enableFlip) cvFlip(frame, frame, 0); if (VC_ROI::use_roi == true && VC_ROI::roi_defined == false && firstTime == true) { VC_ROI::reset(); do { cv::Mat img_input(frame); if (showOutput) { cv::imshow("Input", img_input); std::cout << "Set ROI (press ESC to skip)" << std::endl; VC_ROI::img_input1 = new IplImage(img_input); cvSetMouseCallback("Input", VC_ROI::VideoCapture_on_mouse, NULL); key = cvWaitKey(0); delete VC_ROI::img_input1; } else key = KEY_ESC; if (key == KEY_ESC) { std::cout << "ROI disabled" << std::endl; VC_ROI::reset(); VC_ROI::use_roi = false; break; } if (VC_ROI::roi_defined) { std::cout << "ROI defined (" << VC_ROI::roi_x0 << "," << VC_ROI::roi_y0 << "," << VC_ROI::roi_x1 << "," << VC_ROI::roi_y1 << ")" << std::endl; break; } else std::cout << "ROI undefined" << std::endl; } while (1); } if (VC_ROI::use_roi == true && VC_ROI::roi_defined == true) { CvRect rect = cvRect(VC_ROI::roi_x0, VC_ROI::roi_y0, VC_ROI::roi_x1 - VC_ROI::roi_x0, VC_ROI::roi_y1 - VC_ROI::roi_y0); cvSetImageROI(frame, rect); } cv::Mat img_input(frame); if (showOutput) cv::imshow("Input", img_input); if (firstTime) saveConfig(); start_time = cv::getTickCount(); frameProcessor->process(img_input); int64 delta_time = cv::getTickCount() - start_time; freq = cv::getTickFrequency(); fps = freq / delta_time; //std::cout << "FPS: " << fps << std::endl; cvResetImageROI(frame); key = cvWaitKey(loopDelay); //std::cout << "key: " << key << std::endl; if (key == KEY_SPACE) key = cvWaitKey(0); if (key == KEY_ESC) break; if (stopAt > 0 && stopAt == frameNumber) key = cvWaitKey(0); firstTime = false; } while (1); cvReleaseCapture(&capture); }
void Window::dropMouse(int button, int state, int x, int y) { if (button == GLUT_LEFT_BUTTON && state == GLUT_UP) { eyeoffset[0] = 0; eyeoffset[1] = 0; setUpCamera(); } }