annotate c/cvutils.cpp @ 11:e77e2fd69b02

modularized code (not compiling)
author Nicolas Saunier <nico@confins.net>
date Wed, 11 Nov 2009 12:01:43 -0500
parents eb38637f338d
children ff5403319cec
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
1 #include "cvutils.hpp"
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
2
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
3 #include "opencv/cv.h"
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
4
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
5 #include <iostream>
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
6
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
7 using namespace std;
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
8
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
9 IplImage* allocateImage(const int& width, const int& height, const int& depth, const int& channels) { return ::allocateImage(cvSize(width, height), depth, channels);}
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
10
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
11 IplImage* allocateImage(const CvSize& size, const int& depth, const int& channels) {
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
12 IplImage* image = cvCreateImage(size, depth, channels);
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
13
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
14 if (!image) {
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
15 cerr << "Error: Couldn't allocate image. Out of memory?\n" << endl;
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
16 exit(-1);
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
17 }
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
18
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
19 return image;
eb38637f338d created cvutils
Nicolas Saunier <nico@confins.net>
parents:
diff changeset
20 }
11
e77e2fd69b02 modularized code (not compiling)
Nicolas Saunier <nico@confins.net>
parents: 9
diff changeset
21
e77e2fd69b02 modularized code (not compiling)
Nicolas Saunier <nico@confins.net>
parents: 9
diff changeset
22 void goToFrameNum(CvCapture* capture, const int& currentFrameNum, const int& targetFrameNum) {
e77e2fd69b02 modularized code (not compiling)
Nicolas Saunier <nico@confins.net>
parents: 9
diff changeset
23 if (currentFrameNum > targetFrameNum)
e77e2fd69b02 modularized code (not compiling)
Nicolas Saunier <nico@confins.net>
parents: 9
diff changeset
24 cerr << "Current frame number " << currentFrameNum << " is after the target frame number " << targetFrameNum << "." << endl;
e77e2fd69b02 modularized code (not compiling)
Nicolas Saunier <nico@confins.net>
parents: 9
diff changeset
25
e77e2fd69b02 modularized code (not compiling)
Nicolas Saunier <nico@confins.net>
parents: 9
diff changeset
26 for (int frameNum = currentFrameNum; frameNum<targetFrameNum; ++frameNum) {
e77e2fd69b02 modularized code (not compiling)
Nicolas Saunier <nico@confins.net>
parents: 9
diff changeset
27 IplImage* frame = cvQueryFrame(inputVideo);
e77e2fd69b02 modularized code (not compiling)
Nicolas Saunier <nico@confins.net>
parents: 9
diff changeset
28 if (!frame)
e77e2fd69b02 modularized code (not compiling)
Nicolas Saunier <nico@confins.net>
parents: 9
diff changeset
29 break;
e77e2fd69b02 modularized code (not compiling)
Nicolas Saunier <nico@confins.net>
parents: 9
diff changeset
30 frameNum++;
e77e2fd69b02 modularized code (not compiling)
Nicolas Saunier <nico@confins.net>
parents: 9
diff changeset
31 }
e77e2fd69b02 modularized code (not compiling)
Nicolas Saunier <nico@confins.net>
parents: 9
diff changeset
32 }