dlib C++ Library - 3d_point_cloud_ex.cpp

// The contents of this file are in the public domain. See LICENSE_FOR_EXAMPLE_PROGRAMS.txt
/*
 This is an example illustrating the use of the perspective_window tool
 in the dlib C++ Library. It is a simple tool for displaying 3D point 
 clouds on the screen.
*/
#include <dlib/gui_widgets.h>
#include <dlib/image_transforms.h>
#include <cmath>
using namespace dlib;
using namespace std;
// ----------------------------------------------------------------------------------------
int main()
{
 // Let's make a point cloud that looks like a 3D spiral.
 std::vector<perspective_window::overlay_dot> points;
 dlib::rand rnd;
 for (double i = 0; i < 20; i+=0.001)
 {
 // Get a point on a spiral
 dlib::vector<double> val(sin(i),cos(i),i/4);
 // Now add some random noise to it
 dlib::vector<double> temp(rnd.get_random_gaussian(),
 rnd.get_random_gaussian(),
 rnd.get_random_gaussian());
 val += temp/20;
 // Pick a color based on how far we are along the spiral
 rgb_pixel color = colormap_jet(i,0,20);
 // And add the point to the list of points we will display
 points.push_back(perspective_window::overlay_dot(val, color));
 }
 // Now finally display the point cloud.
 perspective_window win;
 win.set_title("perspective_window 3D point cloud");
 win.add_overlay(points);
 win.wait_until_closed();
}
// ----------------------------------------------------------------------------

AltStyle によって変換されたページ (->オリジナル) /