Skip to main content

Posts

Showing posts with the label load video

Camera Affine Transformation

An affine transform allows the user to warp, stretch, rotate and resize an image or a footage from a camera. Essentially the image is multiplied by 2x3 matrix to perform the transformation. An affine transform produces parallelograms (which includes standard rectangles). #include <opencv2/video/tracking.hpp> #include <opencv2/highgui/highgui.hpp> #include <stdio.h> #include <opencv2/objdetect/objdetect.hpp> #include <opencv2/features2d/features2d.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/calib3d/calib3d.hpp> #include <opencv2/imgproc/imgproc_c.h> #include <opencv2/video/tracking.hpp> #include <iostream> #include <vector> int angle_switch_value = 0; int angleInt = 0; int scale_switch_value = 0; int scaleInt = 0; void switch_callback_a( int position ){ angleInt = position; } void switch_callback_s( int position ){ scaleInt = position; } int main(int argc, char** argv) { // Set up variab...

Load a Video in OpenCV

#include <stdlib.h> #include <stdio.h> #include <math.h> #include <string.h> #include<opencv2\opencv.hpp> #include <opencv2\highgui\highgui.hpp> int main(int argc, char *argv[]) { IplImage *frame; int key = 'a'; /* supply the AVI file to play */ if(argc<2){ printf("Usage: main <video-file-name>.avi\n\7"); exit(0); } /* load the AVI file */ CvCapture *capture = cvCaptureFromAVI( argv[1] ); /* always check */ if( !capture ) return 1; /* get fps, needed to set the delay */ int fps = ( int )cvGetCaptureProperty( capture, CV_CAP_PROP_FPS ); /* display video */ cvNamedWindow( "video", 0 ); while( key != 'q' ) { /* get a frame */ frame = cvQueryFrame( capture ); /* always check */ if( !frame ) break; /* display frame */ cvShowImage( "video", frame ); /* quit if user press 'q' */ cvWaitKey( 1000 / fps ); } /* free memory */ cvReleaseCapture( &capture ...