예제 #1
0
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);
}
예제 #2
0
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;

}