[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[libcvd-members] libcvd/cvd camera.h
From: |
Dr. JJN |
Subject: |
[libcvd-members] libcvd/cvd camera.h |
Date: |
Mon, 30 Apr 2007 16:32:20 +0000 |
CVSROOT: /sources/libcvd
Module name: libcvd
Changes by: Dr. JJN <jjneubert> 07/04/30 16:32:20
Modified files:
cvd : camera.h
Log message:
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/libcvd/cvd/camera.h?cvsroot=libcvd&r1=1.17&r2=1.18
Patches:
Index: camera.h
===================================================================
RCS file: /sources/libcvd/libcvd/cvd/camera.h,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- camera.h 23 Apr 2007 15:50:49 -0000 1.17
+++ camera.h 30 Apr 2007 16:32:19 -0000 1.18
@@ -179,6 +179,8 @@
inline TooN::Matrix<2,2> get_derivative(const TooN::Vector<2>& x) const;
inline TooN::Matrix<2,2> get_inv_derivative() const;
+ inline TooN::Matrix<2,2> get_inv_derivative(const TooN::Vector<2>& x)
const;
+
/// Get the motion of a point with respect to each of the internal camera
parameters
inline TooN::Matrix<num_parameters,2> get_parameter_derivs() const ;
@@ -451,6 +453,7 @@
}
+
TooN::Matrix<2,2> Camera::Quintic::get_inv_derivative() const {
TooN::Matrix<2,2> result;
double temp1=my_last_camframe*my_last_camframe;
@@ -473,6 +476,30 @@
return result;
}
+TooN::Matrix<2,2> Camera::Quintic::get_inv_derivative(const TooN::Vector<2>&
x) const
+{
+
+ TooN::Matrix<2,2> result;
+ double temp1=x*x;
+ double temp2=my_camera_parameters[5]*temp1;
+ double temp3=2.0*(my_camera_parameters[4]+2.0*temp2);
+
+ Identity(result,1+temp1*(my_camera_parameters[4]+temp2));
+
+ result[0][0] += x[1]*x[1]*temp3;
+ result[0][1] =-(temp3*x[0]*x[1]);
+
+ result[1][1] += x[0]*x[0]*temp3;
+ result[1][0] =-(temp3*x[0]*x[1]);
+
+ (result.T())[0] *= my_camera_parameters[1];
+ (result.T())[1] *= my_camera_parameters[0];
+
+ result /= (result[0][0]*result[1][1] - result[1][0]*result[0][1]);
+
+ return result;
+
+}
TooN::Matrix<2,2> Camera::Quintic::get_derivative(const TooN::Vector<2>& x)
const {
TooN::Matrix<2,2> result;