Commit 0d2bc9b0 authored by edgarriba's avatar edgarriba

Removed whitespaces

parent 2353436c
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -9,61 +9,61 @@ using namespace cv; ...@@ -9,61 +9,61 @@ using namespace cv;
class dls class dls
{ {
public: public:
dls(const cv::Mat& opoints, const cv::Mat& ipoints); dls(const cv::Mat& opoints, const cv::Mat& ipoints);
~dls(); ~dls();
bool compute_pose(cv::Mat& R, cv::Mat& t); bool compute_pose(cv::Mat& R, cv::Mat& t);
private: private:
// initialisation // initialisation
template <typename OpointType, typename IpointType> template <typename OpointType, typename IpointType>
void init_points(const cv::Mat& opoints, const cv::Mat& ipoints) void init_points(const cv::Mat& opoints, const cv::Mat& ipoints)
{ {
for(int i = 0; i < N; i++) for(int i = 0; i < N; i++)
{ {
p.at<double>(0,i) = opoints.at<OpointType>(0,i).x; p.at<double>(0,i) = opoints.at<OpointType>(0,i).x;
p.at<double>(1,i) = opoints.at<OpointType>(0,i).y; p.at<double>(1,i) = opoints.at<OpointType>(0,i).y;
p.at<double>(2,i) = opoints.at<OpointType>(0,i).z; p.at<double>(2,i) = opoints.at<OpointType>(0,i).z;
z.at<double>(0,i) = ipoints.at<IpointType>(0,i).x; z.at<double>(0,i) = ipoints.at<IpointType>(0,i).x;
z.at<double>(1,i) = ipoints.at<IpointType>(0,i).y; z.at<double>(1,i) = ipoints.at<IpointType>(0,i).y;
z.at<double>(2,i) = (double)1; z.at<double>(2,i) = (double)1;
} }
} }
void norm_z_vector(); void norm_z_vector();
// main algorithm // main algorithm
void run_kernel(const cv::Mat& pp); void run_kernel(const cv::Mat& pp);
void build_coeff_matrix(const cv::Mat& pp, cv::Mat& Mtilde, cv::Mat& D); void build_coeff_matrix(const cv::Mat& pp, cv::Mat& Mtilde, cv::Mat& D);
void compute_eigenvec(const cv::Mat& Mtilde, cv::Mat& eigenval_real, cv::Mat& eigenval_imag, void compute_eigenvec(const cv::Mat& Mtilde, cv::Mat& eigenval_real, cv::Mat& eigenval_imag,
cv::Mat& eigenvec_real, cv::Mat& eigenvec_imag); cv::Mat& eigenvec_real, cv::Mat& eigenvec_imag);
void fill_coeff(const cv::Mat * D); void fill_coeff(const cv::Mat * D);
// useful functions // useful functions
cv::Mat LeftMultVec(const cv::Mat& v); cv::Mat LeftMultVec(const cv::Mat& v);
cv::Mat cayley_LS_M(const std::vector<double>& a, const std::vector<double>& b, cv::Mat cayley_LS_M(const std::vector<double>& a, const std::vector<double>& b,
const std::vector<double>& c, const std::vector<double>& u); const std::vector<double>& c, const std::vector<double>& u);
cv::Mat Hessian(const double s[]); cv::Mat Hessian(const double s[]);
cv::Mat cayley2rotbar(const cv::Mat& s); cv::Mat cayley2rotbar(const cv::Mat& s);
cv::Mat skewsymm(const cv::Mat * X1); cv::Mat skewsymm(const cv::Mat * X1);
// extra functions // extra functions
cv::Mat rotx(const double t); cv::Mat rotx(const double t);
cv::Mat roty(const double t); cv::Mat roty(const double t);
cv::Mat rotz(const double t); cv::Mat rotz(const double t);
cv::Mat mean(const cv::Mat& M); cv::Mat mean(const cv::Mat& M);
bool is_empty(const cv::Mat * v); bool is_empty(const cv::Mat * v);
bool positive_eigenvalues(const cv::Mat * eigenvalues); bool positive_eigenvalues(const cv::Mat * eigenvalues);
cv::Mat p, z; // object-image points cv::Mat p, z; // object-image points
int N; // number of input points int N; // number of input points
std::vector<double> f1coeff, f2coeff, f3coeff, cost_; // coefficient for coefficients matrix std::vector<double> f1coeff, f2coeff, f3coeff, cost_; // coefficient for coefficients matrix
std::vector<cv::Mat> C_est_, t_est_; // optimal candidates std::vector<cv::Mat> C_est_, t_est_; // optimal candidates
cv::Mat C_est__, t_est__; // optimal found solution cv::Mat C_est__, t_est__; // optimal found solution
double cost__; // optimal found solution double cost__; // optimal found solution
}; };
......
This diff is collapsed.
...@@ -2,58 +2,58 @@ cmake_minimum_required(VERSION 2.8) ...@@ -2,58 +2,58 @@ cmake_minimum_required(VERSION 2.8)
project( PNP_DEMO ) project( PNP_DEMO )
ADD_DEFINITIONS( ADD_DEFINITIONS(
-std=c++11 -std=c++11
# Other flags # Other flags
) )
find_package( OpenCV REQUIRED ) find_package( OpenCV REQUIRED )
include_directories( include_directories(
${OpenCV_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS}
) )
add_executable( add_executable(
pnp_registration pnp_registration
src/main_registration.cpp src/main_registration.cpp
src/CsvReader.cpp src/CsvReader.cpp
src/CsvWriter.cpp src/CsvWriter.cpp
src/ModelRegistration.cpp src/ModelRegistration.cpp
src/Mesh.cpp src/Mesh.cpp
src/Model.cpp src/Model.cpp
src/PnPProblem.cpp src/PnPProblem.cpp
src/Utils.cpp src/Utils.cpp
src/RobustMatcher.cpp src/RobustMatcher.cpp
) )
add_executable( add_executable(
pnp_verification pnp_verification
src/main_verification.cpp src/main_verification.cpp
src/CsvReader.cpp src/CsvReader.cpp
src/CsvWriter.cpp src/CsvWriter.cpp
src/ModelRegistration.cpp src/ModelRegistration.cpp
src/Mesh.cpp src/Mesh.cpp
src/Model.cpp src/Model.cpp
src/PnPProblem.cpp src/PnPProblem.cpp
src/Utils.cpp src/Utils.cpp
src/RobustMatcher.cpp src/RobustMatcher.cpp
) )
add_executable( add_executable(
pnp_detection pnp_detection
src/main_detection.cpp src/main_detection.cpp
src/CsvReader.cpp src/CsvReader.cpp
src/CsvWriter.cpp src/CsvWriter.cpp
src/ModelRegistration.cpp src/ModelRegistration.cpp
src/Mesh.cpp src/Mesh.cpp
src/Model.cpp src/Model.cpp
src/PnPProblem.cpp src/PnPProblem.cpp
src/Utils.cpp src/Utils.cpp
src/RobustMatcher.cpp src/RobustMatcher.cpp
) )
add_executable( add_executable(
pnp_test pnp_test
src/test_pnp.cpp src/test_pnp.cpp
) )
target_link_libraries( pnp_registration ${OpenCV_LIBS} ) target_link_libraries( pnp_registration ${OpenCV_LIBS} )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment