ACT-CV - Machine Vision for Cognitive Modeling
OpenCVFrameSource.cpp
Go to the documentation of this file.
1 // -*- mode: c++; indent-tabs-mode: nil; c-basic-offset: 4; coding: iso-8859-1; -*-
2 
3 /*
4 ACT-CV - Machine Vision for Cognitive Modeling
5 Copyright (c) 2008 Marc Halbruegge
6 
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
11 
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16 
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20 */
21 
22 
27 #include <iostream>
28 #if HAVE_CONFIG_H
29 #include <config.h>
30 #endif
31 
32 #include <mhexcptn.h>
33 #include "OpenCVFrameSource.h"
34 
35 using namespace std;
36 
38  : capture(c), n(0) {
39  MHDBGMSG(__FILE__,__LINE__,__PRETTY_FUNCTION__);
40  cout << "source: " << cvGetCaptureProperty(capture, CV_CAP_PROP_FPS) << " fps" << endl;
41  int fcc = static_cast<int>(cvGetCaptureProperty(capture, CV_CAP_PROP_FOURCC));
42  char fourcc[] = {fcc & 0XFF , (fcc & 0XFF00) >> 8,(fcc & 0XFF0000) >> 16,(fcc & 0XFF000000) >> 24, 0};
43  cout << "codec: " << fourcc << endl;
44 }
45 
47  cvReleaseCapture(&capture);
48 }
49 
51  if (capture==nullptr) return nullptr;
52  MHDBGMSG(__FILE__,__LINE__,__PRETTY_FUNCTION__);
53  if (!cvGrabFrame(capture)) return nullptr;
54  MHDBGMSG(__FILE__,__LINE__,__PRETTY_FUNCTION__);
55 
56  ++n;
57 
58  return cvRetrieveFrame(capture);
59 }
60 
63  return new OpenCVFrameSource(cvCaptureFromCAM(i));
64 }
65 
68  return new OpenCVFrameSource(cvCaptureFromFile(fn));
69 }


ACT-CV - Machine Vision for Cognitive Modeling
© 2015 Marc Halbruegge (actcvlibrary@googlemail.com)