From 2a08bf8b469131e82aa259a3be65a6b5dc8c1be0 Mon Sep 17 00:00:00 2001 From: Martin Miller Date: Sun, 19 Mar 2017 22:13:51 -0500 Subject: Add Camera class --- src/camera.cpp | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 src/camera.cpp (limited to 'src/camera.cpp') diff --git a/src/camera.cpp b/src/camera.cpp new file mode 100644 index 0000000..a78746f --- /dev/null +++ b/src/camera.cpp @@ -0,0 +1,60 @@ +/* + * ===================================================================================== + * + * Filename: camera.cpp + * + * Description: Class for camera + * + * Version: 1.0 + * Created: 03/19/2017 09:39:58 PM + * Revision: none + * Compiler: gcc + * + * Author: Martin Miller (MHM), miller7@illinois.edu + * Organization: Aerospace Robotics and Controls Lab (ARC) + * + * ===================================================================================== + */ +#include "camera.h" +#include + +/* + *-------------------------------------------------------------------------------------- + * Class: Camera + * Method: Camera + * Description: constructor + *-------------------------------------------------------------------------------------- + */ +Camera::Camera (const char *fin) +{ + YAML::Node config = YAML::LoadFile(fin); + _K(0,0) = BINNING*config["camera_matrix"]["data"][0].as(); + _K(0,1) = BINNING*config["camera_matrix"]["data"][1].as(); + _K(0,2) = BINNING*config["camera_matrix"]["data"][2].as(); + _K(1,0) = BINNING*config["camera_matrix"]["data"][3].as(); + _K(1,1) = BINNING*config["camera_matrix"]["data"][4].as(); + _K(1,2) = BINNING*config["camera_matrix"]["data"][5].as(); + _K(2,0) = BINNING*config["camera_matrix"]["data"][6].as(); + _K(2,1) = BINNING*config["camera_matrix"]["data"][7].as(); + _K(2,2) = config["camera_matrix"]["data"][8].as(); + + _d[0] = config["distortion_coefficients"]["data"][0].as(); + _d[1] = config["distortion_coefficients"]["data"][1].as(); + _d[2] = config["distortion_coefficients"]["data"][2].as(); + _d[3] = config["distortion_coefficients"]["data"][3].as(); + +} /* ----- end of method Camera::Camera (constructor) ----- */ + + +Matrix +Camera::K ( ) +{ + return _K ; +} /* ----- end of method Camera::K ----- */ + +Vector4d +Camera::d ( ) +{ + return _d; +} /* ----- end of method Camera::d ----- */ + -- cgit v1.1