// 获取透视矩阵 Matrix44 Camera::GetPerpectivMatrix(void) { float rad_fov = angle2radian(fov_); Matrix44 m; m.SetPerspectiveMatrixLH(far_, near_, rad_fov, aspect_); return m; }
void writeDes(ofstream& des_of, vector<KeyPoint>& kpts, Mat_<uchar>& dess) { int num = kpts.size(); int dim = dess.cols; int step = dess.step1(); uchar* dess_data = (uchar*)dess.data; des_of << num << " " <<dim<<endl; for(int i=0; i<num ;i++) { KeyPoint& kp = kpts[i]; float ori = angle2radian(kp.angle); float scale = kp.size / FRIF_BASE_SIZE; des_of << setiosflags(ios::fixed) << setprecision(2) << kp.pt.y << " " << kp.pt.x << " " << setiosflags(ios::fixed) << setprecision(4) << scale << " "<< ori <<endl; for(int j=0; j<dim; j++) { des_of << (int)dess_data[i*step+j] << " "; } des_of <<endl; } }
bool OperatorTrigonometric::executeAngle(double &value) { value = angleAdjust(value); if (!checkAngle(value)) { setErrMsg("Invalid trigonometric angle"); return false; } value = angle2radian(value); return executeRadian(value); }
void writeKp(ofstream& kp_of, vector<KeyPoint>& kpts, int dim) { int num = kpts.size(); kp_of<<num<<" "<<dim<<endl; for (int i=0; i<num; i++) { KeyPoint& kp = kpts[i]; float ori = angle2radian(kp.angle); float scale = kp.size / FRIF_BASE_SIZE; kp_of << setiosflags(ios::fixed) << setprecision(2) << kp.pt.y << " " << kp.pt.x << " " << setiosflags(ios::fixed) << setprecision(4) << scale <<" "<< ori <<endl; } }
void set_gun_angle(uint32_t angle) { model_.gun_angle_ = angle; model_.gun_radion_ = angle2radian(angle); }
void set_angle(uint32_t angle) { model_.dir_angle_ = angle; model_.dir_radion_ = angle2radian(angle); }