-
Notifications
You must be signed in to change notification settings - Fork 0
/
visualizerstereocamera.cpp
62 lines (49 loc) · 1.71 KB
/
visualizerstereocamera.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
#include "visualizerstereocamera.h"
VisualizerStereoCamera::VisualizerStereoCamera() {}
VisualizerStereoCamera::VisualizerStereoCamera(string pathCamLeft,
string pathCamRight)
: stereoCamera(pathCamLeft, pathCamRight) {}
VisualizerStereoCamera::~VisualizerStereoCamera() {}
void VisualizerStereoCamera::show() {
Mat frameLeft;
Mat frameRight;
while (stereoCamera.isOpened()) {
stereoCamera.getCapLeft().read(frameLeft);
stereoCamera.getCapRight().read(frameRight);
imshow("Left Camera", frameLeft);
imshow("Right Camera", frameRight);
int k = waitKey(1);
if (k == 'q') {
break;
}
}
}
void VisualizerStereoCamera::remapShow() {
Mat leftStereoMapX, leftStereoMapY;
Mat rightStereoMapX, rightStereoMapY;
FileStorage cvFile = FileStorage("calibrationParameters.xml", FileStorage::READ);
cvFile["leftStereoMapX"] >> leftStereoMapX;
cvFile["leftStereoMapY"] >> leftStereoMapY;
cvFile["rightStereoMapX"] >> rightStereoMapX;
cvFile["rightStereoMapY"] >> rightStereoMapY;
cvFile.release();
Mat frameLeft;
Mat frameRight;
Mat concatImage;
Mat remapFrameLeft;
Mat remapFrameRight;
while (stereoCamera.isOpened()) {
stereoCamera.getCapLeft().read(frameLeft);
stereoCamera.getCapRight().read(frameRight);
remap(frameLeft, remapFrameLeft, leftStereoMapX, leftStereoMapY,
cv::INTER_LANCZOS4, cv::BORDER_CONSTANT, 0);
remap(frameRight, remapFrameRight, rightStereoMapX, rightStereoMapY,
cv::INTER_LANCZOS4, cv::BORDER_CONSTANT, 0);
hconcat(remapFrameLeft,remapFrameRight,concatImage);
imshow("Frame", concatImage);
int k = waitKey(1);
if (k == 'q') {
break;
}
}
}