You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1018 B
36 lines
1018 B
|
|
|
|
#pragma once
|
|
|
|
#ifndef _STEREOVISION_H_
|
|
#define _STEREOVISION_H_
|
|
|
|
#include "oc_array.h"
|
|
#include "oc_calibration.h"
|
|
#include "oc_point.h"
|
|
|
|
namespace opencorr
|
|
{
|
|
class Stereovision
|
|
{
|
|
protected:
|
|
Calibration* view1_cam = nullptr; //intrinsics and extrinsics of the primary camera
|
|
Calibration* view2_cam = nullptr; //intrinsics and extrinsics of the secondary camera
|
|
int thread_number; //CPU thread number
|
|
|
|
public:
|
|
Eigen::Matrix3f fundamental_matrix; //fundamental matrix of binocular stereovision system
|
|
|
|
Stereovision(Calibration* view1_cam, Calibration* view2_cam, int thread_number);
|
|
~Stereovision();
|
|
|
|
void updateCameras(Calibration* view1_cam, Calibration* view2_cam);
|
|
void updateFundementalMatrix();
|
|
void prepare();
|
|
|
|
Point3D reconstruct(Point2D& view1_2d_point, Point2D& view2_2d_point);
|
|
void reconstruct(std::vector<Point2D>& view1_2d_point_queue, std::vector<Point2D>& view2_2d_point_queue, std::vector<Point3D>& space_3d_point_queue);
|
|
};
|
|
|
|
}//namespace opencorr
|
|
#endif //_STEREOVISION_H_
|
|
|