Mercurial Hosting > traffic-intelligence
diff c/test-pixels.cpp @ 8:59b7e3954178
renaming and added make clean
author | Nicolas Saunier <nico@confins.net> |
---|---|
date | Sat, 07 Nov 2009 23:33:51 -0500 |
parents | c/main.cpp@6509f5b1d795 |
children | eb38637f338d |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/c/test-pixels.cpp Sat Nov 07 23:33:51 2009 -0500 @@ -0,0 +1,42 @@ +#include "opencv/cv.h" +#include "opencv/highgui.h" + +#include <iostream> + +using namespace std; + +IplImage* allocateImage(const CvSize& size, const int& depth, const int& channels) { + IplImage* image = cvCreateImage(size, depth, channels); + + if (!image) { + cerr << "Error: Couldn't allocate image. Out of memory?\n" << endl; + exit(-1); + } + + return image; +} + +int main(int argc, char *argv[]) { + //cout << "Hello World" << endl; + + CvCapture *inputVideo = cvCaptureFromFile(argv[1]); + + IplImage* frame = cvQueryFrame(inputVideo); + IplImage* bwFrame = allocateImage(cvSize(frame->width, frame->height), IPL_DEPTH_8U, 1); + + int frameNum = 0; + while (frame) { + if (frameNum%10 == 0) + cout << frameNum << endl; + cvConvertImage(frame, bwFrame); + + for (int i=0; i<frame->height; ++i) + for (int j=0; j<frame->width; ++j) + int gray = cvGetReal2D(bwFrame, i, j); + + frame = cvQueryFrame(inputVideo); + frameNum++; + } + + return 1; +}