this class optimizes the rotation of a perspective camera given an initial estimate and a known internal calibration and position. More...
#include <vpgl_optimize_camera.h>

Public Types | |
| enum | UseGradient |
Public Member Functions | |
| vpgl_orientation_lsqr (const vpgl_calibration_matrix< double > &K, const vgl_point_3d< double > &c, const std::vector< vgl_homg_point_3d< double > > &world_points, std::vector< vgl_point_2d< double > > image_points) | |
| Constructor. More... | |
| ~vpgl_orientation_lsqr () override=default | |
| Destructor. More... | |
| void | f (vnl_vector< double > const &x, vnl_vector< double > &fx) override |
| The main function. More... | |
| void | throw_failure () |
| void | clear_failure () |
| virtual void | gradf (vnl_vector< double > const &x, vnl_matrix< double > &jacobian) |
| void | fdgradf (vnl_vector< double > const &x, vnl_matrix< double > &jacobian, double stepsize) |
| void | ffdgradf (vnl_vector< double > const &x, vnl_matrix< double > &jacobian, double stepsize) |
| virtual void | trace (int iteration, vnl_vector< double > const &x, vnl_vector< double > const &fx) |
| double | rms (vnl_vector< double > const &x) |
| unsigned int | get_number_of_unknowns () const |
| unsigned int | get_number_of_residuals () const |
| bool | has_gradient () const |
| bool VNL_ALGO_EXPORT | vnl_discrete_diff_fwd (vnl_least_squares_function *lsf, double h, vnl_vector< double > const &x, vnl_matrix< double > &J) |
| bool VNL_ALGO_EXPORT | vnl_discrete_diff_fwd (vnl_least_squares_function *lsf, vnl_vector< double > const &h, vnl_vector< double > const &x, vnl_matrix< double > &J) |
| bool VNL_ALGO_EXPORT | vnl_discrete_diff_fwd (vnl_least_squares_function *lsf, vnl_vector< double > const &h, vnl_vector< double > const &x, vnl_vector< double > const &y, vnl_matrix< double > &J) |
| bool VNL_ALGO_EXPORT | vnl_discrete_diff_sym (vnl_least_squares_function *lsf, double h, vnl_vector< double > const &x, vnl_matrix< double > &J) |
| bool VNL_ALGO_EXPORT | vnl_discrete_diff_sym (vnl_least_squares_function *lsf, vnl_vector< double > const &h, vnl_vector< double > const &x, vnl_matrix< double > &J) |
Public Attributes | |
| no_gradient | |
| use_gradient | |
| bool | failure |
Protected Member Functions | |
| void | init (unsigned int number_of_unknowns, unsigned int number_of_residuals) |
Protected Attributes | |
| vpgl_calibration_matrix< double > | K_ |
| The fixed internal camera calibration. More... | |
| vgl_point_3d< double > | c_ |
| The fixed camera center. More... | |
| std::vector< vgl_homg_point_3d< double > > | world_points_ |
| The known points in the world. More... | |
| std::vector< vgl_point_2d< double > > | image_points_ |
| The corresponding points in the image. More... | |
| unsigned int | p_ |
| unsigned int | n_ |
| bool | use_gradient_ |
this class optimizes the rotation of a perspective camera given an initial estimate and a known internal calibration and position.
Definition at line 17 of file vpgl_optimize_camera.h.
| vpgl_orientation_lsqr::vpgl_orientation_lsqr | ( | const vpgl_calibration_matrix< double > & | K, |
| const vgl_point_3d< double > & | c, | ||
| const std::vector< vgl_homg_point_3d< double > > & | world_points, | ||
| std::vector< vgl_point_2d< double > > | image_points | ||
| ) |
Constructor.
Definition at line 23 of file vpgl_optimize_camera.cxx.
|
overridedefault |
Destructor.
|
overridevirtual |
The main function.
Given the parameter vector x, compute the vector of residuals fx. Fx has been sized appropriately before the call. The parameters in x are the {wx, wy, wz} where w is the Rodrigues vector of the rotation.
Implements vnl_least_squares_function.
Definition at line 43 of file vpgl_optimize_camera.cxx.
|
protected |
The fixed camera center.
Definition at line 45 of file vpgl_optimize_camera.h.
|
protected |
The corresponding points in the image.
Definition at line 49 of file vpgl_optimize_camera.h.
|
protected |
The fixed internal camera calibration.
Definition at line 43 of file vpgl_optimize_camera.h.
|
protected |
The known points in the world.
Definition at line 47 of file vpgl_optimize_camera.h.
1.8.15