//-------------------------------------------------------------- void ofApp::keyPressed(int key){ ofLogVerbose() << "ON : key " << key; // [space]: toggle pause and resume if(key == 32){ if(video.isPlaying()){ bool paused = video.isPaused(); const char* status = (!paused)? "[pause]": "[resume]"; ofLogNotice() << "Video: " << status; video.setPaused(!paused); }else{ ofLogNotice() << "Video: [play]"; video.play(); } // [e] or [s]: save frame }else if(key == 101 || key == 115){ string path = currentDateWithCount() + ".png"; ofPixels* pix = new ofPixels(); video.setPaused(true); pix->setFromPixels(video.getPixels(), vw, vh, OF_IMAGE_COLOR); ofSaveImage(*pix, path, OF_IMAGE_QUALITY_MEDIUM); ofLogWarning() << "\nSaved frame to \"" << path << "\"" << endl; // left key: forward }else if(key == 356){ vVector = 1.0; applyVideoMatrix(); // right key: backward }else if(key == 358){ vVector = -1.0; applyVideoMatrix(); // [0]: very slow speed }else if(key == 48){ vSpeed = 0.25; applyVideoMatrix(); // [1]: normal speed }else if(key == 49){ vSpeed = 1.0; applyVideoMatrix(); // [2]: fast speed }else if(key == 50){ vSpeed = 2.0; applyVideoMatrix(); // [9]: slow speed }else if(key == 57){ vSpeed = 0.5; applyVideoMatrix(); } }
void ofxOpticalFlowLK :: update ( ofVideoPlayer& source ) { update( source.getPixels(), source.width, source.height, OF_IMAGE_COLOR ); // assume colour image type. }
void TTimbre::update(ofVideoPlayer input){ originalImage.setFromPixels(input.getPixels(), input.getWidth(), input.getHeight(), OF_IMAGE_COLOR); internalUpdate(); }
void ofxImageTS::pixelate(ofVideoPlayer video, int pixelRatio) { ofPixels R,G,B, copy; copy.allocate(video.getWidth(), video.getHeight(), OF_PIXELS_RGB); copy = video.getPixels(); pixelate(copy,pixelRatio); }
void ofxOpticalFlowFarneback::update(ofVideoPlayer& source) { update(source.getPixels().getData(), source.getWidth(), source.getHeight(), OF_IMAGE_COLOR); // assume colour image type. }