void get_election_parameters (const std::string &input, auto_BN & pm, auto_BN & qm, auto_BN & gen, auto_BN & ePublicKey) { VHUtil::xml_tree xml_input(input); VHUtil::xml_node root = xml_input.root (); get_election_parameters2(root, pm, qm, gen, ePublicKey); }
int main( int argc, char* argv[]) { if(argc < 3) { cerr << "Usage: [-mono, -stereo] [config.xml]" << endl; cerr << "A xml file containing iamge list is required." << endl; exit(EXIT_FAILURE); } string mode(argv[1]); CameraCalibration camera_calib; if(mode == "-stereo") { // Stereo camera calibration camera_calib.setStereoMode(true); string xml_input(argv[2]); camera_calib.ReadStereoCalibParams(xml_input); num_frames = camera_calib.getNumFrames(); camera_calib.StereoCalibration(); camera_calib.InitPangolin(150); static Var<int> img_idx("ui.Image: ", 0, 0, camera_calib.getNumFrames()-1); static Var<bool> is_stereobind("ui.Stereo Bind", false, true); static Var<bool> is_undistorted("ui.Undistorted images", false, true); static Var<bool> is_rectified("ui.Rectified images", false, true); //static Var<bool> disp_button("ui.Show OpenCV SBM", false, false); static Var<bool> export_button("ui.Export Results", false, false); while( !Pangolin::ShouldQuit() ) { if(Pangolin::HasResized()) DisplayBase().ActivateScissorAndClear(); show_idx = (int*)img_idx.var->val; if(is_rectified) { for(int c_idx=0; c_idx<2; c_idx++) camera_calib.DrawRectifiedImage(c_idx, img_idx); } else { for(int c_idx=0; c_idx<2; c_idx++) camera_calib.DrawChessboardAndImage(c_idx, img_idx, is_undistorted, is_stereobind); } camera_calib.panel->Render(); if(Pushed(export_button)) camera_calib.WriteCalibParams(); //if(Pushed(disp_button)) // camera_calib.OpenCVSBM(camera_calib.calib_params[0].ImageList.at(img_idx), // camera_calib.calib_params[1].ImageList.at(img_idx)); camera_calib.panel->Render(); // Swap frames and Process Events glutSwapBuffers(); glutMainLoopEvent(); } } else { // Monocular camera calibration camera_calib.setStereoMode(false); string xml_input(argv[1]); camera_calib.ReadStereoCalibParams(xml_input); } return 0; }