forked from Vorago/iwb
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcapture.cpp
More file actions
69 lines (57 loc) · 1.67 KB
/
capture.cpp
File metadata and controls
69 lines (57 loc) · 1.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/*
* File: capture.cpp
* Author: vorago
*
* Created on December 23, 2010, 1:13 PM
*/
#include "include/capture.hpp"
#include "include/analysis.hpp"
#include <stdio.h>
#include <time.h>
namespace iwb {
CvCapture* Capture::getCapture() {
return capture;
}
IplImage* Capture::getPreviousFrame() {
return previousFrame;
}
void Capture::setPreviousFrame(IplImage* image) {
if (previousFrame != NULL) cvReleaseImage(&previousFrame);
previousFrame = image;
}
Capture::Capture(const char* filepath) :
previousFrame(0) {
capture = cvCaptureFromAVI(filepath);
}
Capture::Capture(int num) :
previousFrame(0) {
capture = cvCaptureFromCAM(num);
}
Capture::~Capture() {
cvReleaseCapture(&capture);
}
void Capture::saveFrame(const char* filepath, IplImage* image) {
cvSaveImage(filepath, image);
}
void Capture::showDiff() {
// const char* winDiff = "winDiff";
// const char* winFrame = "winFrame";
// cvNamedWindow(winDiff, CV_WINDOW_AUTOSIZE);
// cvNamedWindow(winFrame, CV_WINDOW_AUTOSIZE);
//
// for (;;) {
// IplImage* currentFrame = cvQueryFrame(capture);
//
// if (previousFrame == NULL) {
// previousFrame = cvCloneImage(currentFrame);
// continue;
// }
// IplImage* diff = Analysis::getDiff(previousFrame, currentFrame);
// cvShowImage(winFrame, currentFrame);
// previousFrame = cvCloneImage(currentFrame);
// cvShowImage(winDiff, diff);
// cvWaitKey(0);
// cvReleaseImage(&diff);
// }
}
}