23 #include "projective_cam.h"
25 #include <geometry/hom_point.h>
26 #include <geometry/vector.h>
27 #include <core/exceptions/software.h>
32 using namespace fawkes;
36 namespace firevision {
49 AboveHorizonException::AboveHorizonException(
const char *msg,
const center_in_roi_t img_pt)
throw()
50 :
fawkes::Exception(
"AboveHorizonException: %s (%0.1f, %0.1f)", msg, img_pt.x, img_pt.y)
59 AboveHorizonException::get_img_pt()
const
82 __gpa_inv_data =
new float[9];
97 float roll,
float pitch,
float yaw,
98 float height,
float x,
float y):
103 __gpa_inv_data =
new float[9];
114 __p = (pc.__p != NULL ?
new Matrix(*pc.__p) : NULL);
115 __gpa_inv_data =
new float[9];
118 for (
unsigned int i = 0; i < 9; ++i) {
119 __gpa_inv_data[i] = pc.__gpa_inv_data[i];
122 __gpa_inv =
new Matrix(3, 3, __gpa_inv_data,
false);
124 else __gpa_inv = NULL;
133 delete[] __gpa_inv_data;
160 t.
trans(-x, y, height);
183 __gpa_inv =
new Matrix(3, 3, __gpa_inv_data,
false);
203 Vector wld_v = *__gpa_inv * img_v;
227 Vector img_v = *__p * wld_v;
279 __p->
print_info(name ? name :
"Projective Camera", col_sep, row_sep);
280 __cal.
print_info(
"Calibration Matrix", col_sep, row_sep);