本文整理汇总了C++中rangelikelihood::Ptr::setCameraIntrinsicsParameters方法的典型用法代码示例。如果您正苦于以下问题:C++ Ptr::setCameraIntrinsicsParameters方法的具体用法?C++ Ptr::setCameraIntrinsicsParameters怎么用?C++ Ptr::setCameraIntrinsicsParameters使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rangelikelihood::Ptr
的用法示例。
在下文中一共展示了Ptr::setCameraIntrinsicsParameters方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: r
void
execute (int argc, char** argv, std::string plyfile)
{
PtrStepSz<const unsigned short> depth;
PtrStepSz<const KinfuTracker::PixelRGB> rgb24;
int time_ms = 0;
bool has_image = false;
// Create simulation environment:
int width = 640;
int height = 480;
for (int i=0; i<2048; i++)
{
float v = i/2048.0;
v = powf(v, 3)* 6;
t_gamma[i] = v*6*256;
}
glutInit (&argc, argv);
glutInitDisplayMode (GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGB);// was GLUT_RGBA
glutInitWindowPosition (10, 10);
glutInitWindowSize (10, 10);
//glutInitWindowSize (window_width_, window_height_);
glutCreateWindow ("OpenGL range likelihood");
GLenum err = glewInit ();
if (GLEW_OK != err)
{
std::cerr << "Error: " << glewGetErrorString (err) << std::endl;
exit (-1);
}
std::cout << "Status: Using GLEW " << glewGetString (GLEW_VERSION) << std::endl;
if (glewIsSupported ("GL_VERSION_2_0"))
std::cout << "OpenGL 2.0 supported" << std::endl;
else
{
std::cerr << "Error: OpenGL 2.0 not supported" << std::endl;
exit(1);
}
std::cout << "GL_MAX_VIEWPORTS: " << GL_MAX_VIEWPORTS << std::endl;
camera_ = Camera::Ptr (new Camera ());
scene_ = Scene::Ptr (new Scene ());
range_likelihood_ = RangeLikelihood::Ptr (new RangeLikelihood (1, 1, height, width, scene_));
// Actually corresponds to default parameters:
range_likelihood_->setCameraIntrinsicsParameters (640,480, 576.09757860,
576.09757860, 321.06398107, 242.97676897);
range_likelihood_->setComputeOnCPU (false);
range_likelihood_->setSumOnCPU (true);
range_likelihood_->setUseColor (true);
camera_->set(0.471703, 1.59862, 3.10937, 0, 0.418879, -12.2129);
camera_->set_pitch(0.418879); // not sure why this is here:
cout << "About to read: "<< plyfile << endl;
load_PolygonMesh_model (plyfile);
// Generate a series of poses:
std::vector<Eigen::Isometry3d, Eigen::aligned_allocator<Eigen::Isometry3d> > poses;
Eigen::Vector3d focus_center(0,0,1.3);
// double halo_r = 4.0;
double halo_r = 1.5;
double halo_dz = 1.5; // was 2;
// 20 is too quick when adding noise:
// 50 is ok though
int n_poses=50;
int n_pose_stop = 10;
// above means make a circle of 50 poses, stop after the 10th i.e. 1/5 of a halo ring:
generate_halo(poses,focus_center,halo_r,halo_dz,n_poses);
unsigned short * disparity_buf_ = new unsigned short[width*height ];
const KinfuTracker::PixelRGB* color_buf_;
const uint8_t* color_buf_uint;
// loop though and create the mesh:
for (int i = 0; !exit_; ++i)
{
vector<double> tic_toc;
tic_toc.push_back(getTime());
double tic_main = getTime();
Eigen::Vector3d t(poses[i].translation());
Eigen::Quaterniond r(poses[i].rotation());
std::stringstream ss;
ss << t[0]<<", "<<t[1]<<", "<<t[2]<<" | "
<<r.w()<<", "<<r.x()<<", "<<r.y()<<", "<<r.z() ;
std::cout << i << ": " << ss.str() << " pose_simulatedposition\n";
capture (poses[i],disparity_buf_, color_buf_uint);//,ss.str());
color_buf_ = (const KinfuTracker::PixelRGB*) color_buf_uint;
PtrStepSz<const unsigned short> depth_sim = PtrStepSz<const unsigned short>(height, width, disparity_buf_, 2*width);
//cout << depth_sim.rows << " by " << depth_sim.cols << " | s: " << depth_sim.step << "\n";
// RGB-KinFu currently disabled for now - problems with color in KinFu apparently
// but this constructor might not be right either: not sure about step size
integrate_colors_=false;
PtrStepSz<const KinfuTracker::PixelRGB> rgb24_sim = PtrStepSz<const KinfuTracker::PixelRGB>(height, width, color_buf_, width);
tic_toc.push_back (getTime ());
//.........这里部分代码省略.........
示例2: printHelp
int
main (int argc, char** argv)
{
int width = 640;
int height = 480;
window_width_ = width * 2;
window_height_ = height * 2;
int cols = 30;
int rows = 30;
int col_width = 20;
int row_height = 15;
print_info ("Range likelihood performance tests using pcl::simulation. For more information, use: %s -h\n", argv[0]);
if (argc < 2)
{
printHelp (argc, argv);
return (-1);
}
for (int i = 0; i < 2048; ++i)
{
float v = static_cast<float> (i / 2048.0);
v = powf(v, 3)* 6;
t_gamma[i] = static_cast<uint16_t> (v*6*256);
}
glutInit (&argc, argv);
glutInitDisplayMode (GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGB);
glutInitWindowPosition (10, 10);
glutInitWindowSize (window_width_, window_height_);
glutCreateWindow ("OpenGL range likelihood");
GLenum err = glewInit ();
if (GLEW_OK != err)
{
std::cerr << "Error: " << glewGetErrorString (err) << std::endl;
exit (-1);
}
std::cout << "Status: Using GLEW " << glewGetString (GLEW_VERSION) << std::endl;
if (glewIsSupported ("GL_VERSION_2_0"))
std::cout << "OpenGL 2.0 supported" << std::endl;
else
{
std::cerr << "Error: OpenGL 2.0 not supported" << std::endl;
exit (1);
}
std::cout << "GL_MAX_VIEWPORTS: " << GL_MAX_VIEWPORTS << std::endl;
camera_ = Camera::Ptr (new Camera ());
scene_ = Scene::Ptr (new Scene ());
range_likelihood_visualization_ = RangeLikelihood::Ptr (new RangeLikelihood (1, 1, height, width, scene_));
range_likelihood_ = RangeLikelihood::Ptr (new RangeLikelihood (rows, cols, row_height, col_width, scene_));
// Actually corresponds to default parameters:
range_likelihood_visualization_->setCameraIntrinsicsParameters (
640, 480, 576.09757860f, 576.09757860f, 321.06398107f, 242.97676897f);
range_likelihood_visualization_->setComputeOnCPU (false);
range_likelihood_visualization_->setSumOnCPU (false);
range_likelihood_visualization_->setUseColor (true);
range_likelihood_->setCameraIntrinsicsParameters (
640, 480, 576.09757860f, 576.09757860f, 321.06398107f, 242.97676897f);
range_likelihood_->setComputeOnCPU (false);
range_likelihood_->setSumOnCPU (false);
range_likelihood_->setUseColor (false);
textured_quad_ = TexturedQuad::Ptr (new TexturedQuad (range_likelihood_->getWidth (),
range_likelihood_->getHeight ()));
initialize (argc, argv);
glutDisplayFunc (display);
glutIdleFunc (display);
glutKeyboardFunc (on_keyboard);
glutMainLoop ();
}
示例3: if
//.........这里部分代码省略.........
// Change the cloud rendered point size
if (psize.size () > 0)
p->setPointCloudRenderingProperties (pcl::visualization::PCL_VISUALIZER_POINT_SIZE, psize.at (i), cloud_name.str ());
// Change the cloud rendered opacity
if (opaque.size () > 0)
p->setPointCloudRenderingProperties (pcl::visualization::PCL_VISUALIZER_OPACITY, opaque.at (i), cloud_name.str ());
// Reset camera viewpoint to center of cloud if camera parameters were not passed manually and this is the first loaded cloud
//if (i == 0 && !p->cameraParamsSet ())
// p->resetCameraViewpoint (cloud_name.str ());
}
////////////////////////////////////////////////////////////////
// Key binding for saving simulated point cloud:
if (p)
p->registerKeyboardCallback(simulate_callback, (void*)&p);
int width = 640;
int height = 480;
window_width_ = width * 2;
window_height_ = height * 2;
print_info ("Manually generate a simulated RGB-D point cloud using pcl::simulation. For more information, use: %s -h\n", argv[0]);
for (int i=0; i<2048; i++)
{
float v = i/2048.0;
v = powf(v, 3)* 6;
t_gamma[i] = v*6*256;
}
GLenum err = glewInit ();
if (GLEW_OK != err)
{
std::cerr << "Error: " << glewGetErrorString (err) << std::endl;
exit (-1);
}
std::cout << "Status: Using GLEW " << glewGetString (GLEW_VERSION) << std::endl;
if (glewIsSupported ("GL_VERSION_2_0"))
std::cout << "OpenGL 2.0 supported" << std::endl;
else
{
std::cerr << "Error: OpenGL 2.0 not supported" << std::endl;
exit(1);
}
camera_ = Camera::Ptr (new Camera ());
scene_ = Scene::Ptr (new Scene ());
range_likelihood_ = RangeLikelihood::Ptr (new RangeLikelihood(1, 1, height, width, scene_));
// range_likelihood_ = RangeLikelihood::Ptr(new RangeLikelihood(10, 10, 96, 96, scene_));
// range_likelihood_ = RangeLikelihood::Ptr(new RangeLikelihood(1, 1, 480, 640, scene_));
// Actually corresponds to default parameters:
range_likelihood_->setCameraIntrinsicsParameters (640,480, 576.09757860,
576.09757860, 321.06398107, 242.97676897);
range_likelihood_->setComputeOnCPU (false);
range_likelihood_->setSumOnCPU (true);
range_likelihood_->setUseColor (true);
initialize (argc, argv);
if (p)
p->setBackgroundColor (bcolor[0], bcolor[1], bcolor[2]);
// Read axes settings
double axes = 0.0;
pcl::console::parse_argument (argc, argv, "-ax", axes);
if (axes != 0.0 && p)
{
double ax_x = 0.0, ax_y = 0.0, ax_z = 0.0;
pcl::console::parse_3x_arguments (argc, argv, "-ax_pos", ax_x, ax_y, ax_z, false);
// Draw XYZ axes if command-line enabled
p->addCoordinateSystem (axes, ax_x, ax_y, ax_z);
}
// Clean up the memory used by the binary blob
// Note: avoid resetting the cloud, otherwise the PointPicking callback will fail
//cloud.reset ();
if (ph)
{
print_highlight ("Setting the global Y range for all histograms to: "); print_value ("%f -> %f\n", min_p, max_p);
ph->setGlobalYRange (min_p, max_p);
ph->updateWindowPositions ();
if (p)
p->spin ();
else
ph->spin ();
}
else if (p)
p->spin ();
}
示例4: printHelp
int
main (int argc, char** argv)
{
int width = 640;
int height = 480;
window_width_ = width * 2;
window_height_ = height * 2;
print_info ("Manually generate a simulated RGB-D point cloud using pcl::simulation. For more information, use: %s -h\n", argv[0]);
if (argc < 2)
{
printHelp (argc, argv);
return (-1);
}
int i;
for (i=0; i<2048; i++)
{
float v = i/2048.0;
v = powf(v, 3)* 6;
t_gamma[i] = v*6*256;
}
glutInit (&argc, argv);
glutInitDisplayMode (GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGB);// was GLUT_RGBA
glutInitWindowPosition (10, 10);
glutInitWindowSize (window_width_, window_height_);
glutCreateWindow ("OpenGL range likelihood");
GLenum err = glewInit ();
if (GLEW_OK != err)
{
std::cerr << "Error: " << glewGetErrorString (err) << std::endl;
exit (-1);
}
std::cout << "Status: Using GLEW " << glewGetString (GLEW_VERSION) << std::endl;
if (glewIsSupported ("GL_VERSION_2_0"))
std::cout << "OpenGL 2.0 supported" << std::endl;
else
{
std::cerr << "Error: OpenGL 2.0 not supported" << std::endl;
exit(1);
}
std::cout << "GL_MAX_VIEWPORTS: " << GL_MAX_VIEWPORTS << std::endl;
camera_ = Camera::Ptr (new Camera ());
scene_ = Scene::Ptr (new Scene ());
//range_likelihood_ = RangeLikelihoodGLSL::Ptr(new RangeLikelihoodGLSL(1, 1, height, width, scene_, 0));
range_likelihood_ = RangeLikelihood::Ptr (new RangeLikelihood (2, 2, height/2, width/2, scene_));
// range_likelihood_ = RangeLikelihood::Ptr(new RangeLikelihood(10, 10, 96, 96, scene_));
// range_likelihood_ = RangeLikelihood::Ptr(new RangeLikelihood(1, 1, 480, 640, scene_));
// Actually corresponds to default parameters:
range_likelihood_->setCameraIntrinsicsParameters (640,480, 576.09757860,
576.09757860, 321.06398107, 242.97676897);
range_likelihood_->setComputeOnCPU (false);
range_likelihood_->setSumOnCPU (true);
range_likelihood_->setUseColor (true);
initialize (argc, argv);
glutReshapeFunc (on_reshape);
glutDisplayFunc (display);
glutIdleFunc (display);
glutKeyboardFunc (on_keyboard);
glutMouseFunc (on_mouse);
glutMotionFunc (on_motion);
glutPassiveMotionFunc (on_passive_motion);
glutEntryFunc (on_entry);
glutMainLoop ();
return 0;
}