diff c/main.cpp @ 4:6509f5b1d795

updated and added makefile to compile C++ code using opencv in its directory, whipped up simple test to read the pixels in BW images
author Nicolas Saunier <nico@confins.net>
date Fri, 23 Oct 2009 00:26:47 -0400
parents ace29ecfb846
children
line wrap: on
line diff
--- a/c/main.cpp	Thu Oct 22 16:12:09 2009 -0400
+++ b/c/main.cpp	Fri Oct 23 00:26:47 2009 -0400
@@ -1,10 +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]);
 
-  cout << "Hello World" << endl;
+  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;
 }