-
Notifications
You must be signed in to change notification settings - Fork 0
/
wall_calibrate.cpp
107 lines (80 loc) · 2.58 KB
/
wall_calibrate.cpp
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
//g++ -g -I/usr/local/include/opencv -I/usr/local/include/opencv2 -L/usr/local/lib/ -o tst MakeFrame.h MakeFrame.cpp VideoFeed.h VideoFeed.cpp LiveMask.h LiveMask.cpp Calibration.h Calibration.cpp test.cpp -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_imgcodecs -lopencv_videoio -std=c++11
#include <opencv/cv.h>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/videoio.hpp>
#include <opencv2/opencv.hpp>
#include <iostream>
#include <time.h>
#include "LiveMask.h"
#include "Calibration.h"
using namespace cv;
using namespace std;
void flipvert(cv::Mat img)
{
cv::flip(img, img, 1);
}
int main(int argc, char** argv)
{
int cam1, cam2;
sscanf(argv[1], "%d", &cam1);
sscanf(argv[2], "%d", &cam2);
int dwidth, dheight;
sscanf(argv[3], "%d", &dwidth);
sscanf(argv[4], "%d", &dheight);
Size desiredres(dwidth, dheight);
int offsetstep;
sscanf(argv[5], "%d", &offsetstep);
int sz;
sscanf(argv[6], "%d", &sz);
Size camguardsize(sz, sz);
VideoCapture interaction;
VideoCapture fill;
assignCameras(&interaction, &fill, cam1, cam2);
unsigned char threshold = 100;
int blurkernelsize = 1;
int offsetx = 0;
int offsety = 0;
calibrate(interaction,
fill,
&threshold,
&blurkernelsize,
&offsetx,
&offsety,
offsetstep,
desiredres
);
VideoWriter* output = NULL;
if(argc == 8)
{
//get the width and height of frames of the video
double w = interaction.get(CV_CAP_PROP_FRAME_WIDTH);
double h = interaction.get(CV_CAP_PROP_FRAME_HEIGHT);
Size frameSize(static_cast<int>(w), static_cast<int>(h));
output = new VideoWriter (argv[7],
CV_FOURCC('H','2','6','4'),
20,
frameSize,
true
);
//if the VideoWriter is not initialized correctly, exit the program
if ( !output->isOpened() )
{
cout << "ERROR: Failed to write the video" << endl;
return 1;
}
}
liveMask(interaction,
fill,
desiredres,
&flipvert,
NULL,
threshold,
blurkernelsize,
offsetstep,
offsetx,
offsety,
output,
camguardsize
);
return 0;
}