Aging_MouthReplace / dlibs /docs /3d_point_cloud_ex.cpp.html
AshanGimhana's picture
Upload folder using huggingface_hub
9375c9a verified
<html><!-- Created using the cpp_pretty_printer from the dlib C++ library. See http://dlib.net for updates. --><head><title>dlib C++ Library - 3d_point_cloud_ex.cpp</title></head><body bgcolor='white'><pre>
<font color='#009900'>// The contents of this file are in the public domain. See LICENSE_FOR_EXAMPLE_PROGRAMS.txt
</font><font color='#009900'>/*
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.
*/</font>
<font color='#0000FF'>#include</font> <font color='#5555FF'>&lt;</font>dlib<font color='#5555FF'>/</font>gui_widgets.h<font color='#5555FF'>&gt;</font>
<font color='#0000FF'>#include</font> <font color='#5555FF'>&lt;</font>dlib<font color='#5555FF'>/</font>image_transforms.h<font color='#5555FF'>&gt;</font>
<font color='#0000FF'>#include</font> <font color='#5555FF'>&lt;</font>cmath<font color='#5555FF'>&gt;</font>
<font color='#0000FF'>using</font> <font color='#0000FF'>namespace</font> dlib;
<font color='#0000FF'>using</font> <font color='#0000FF'>namespace</font> std;
<font color='#009900'>// ----------------------------------------------------------------------------------------
</font>
<font color='#0000FF'><u>int</u></font> <b><a name='main'></a>main</b><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>
<b>{</b>
<font color='#009900'>// Let's make a point cloud that looks like a 3D spiral.
</font> std::vector<font color='#5555FF'>&lt;</font>perspective_window::overlay_dot<font color='#5555FF'>&gt;</font> points;
dlib::rand rnd;
<font color='#0000FF'>for</font> <font face='Lucida Console'>(</font><font color='#0000FF'><u>double</u></font> i <font color='#5555FF'>=</font> <font color='#979000'>0</font>; i <font color='#5555FF'>&lt;</font> <font color='#979000'>20</font>; i<font color='#5555FF'>+</font><font color='#5555FF'>=</font><font color='#979000'>0.001</font><font face='Lucida Console'>)</font>
<b>{</b>
<font color='#009900'>// Get a point on a spiral
</font> dlib::vector<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>double</u></font><font color='#5555FF'>&gt;</font> <font color='#BB00BB'>val</font><font face='Lucida Console'>(</font><font color='#BB00BB'>sin</font><font face='Lucida Console'>(</font>i<font face='Lucida Console'>)</font>,<font color='#BB00BB'>cos</font><font face='Lucida Console'>(</font>i<font face='Lucida Console'>)</font>,i<font color='#5555FF'>/</font><font color='#979000'>4</font><font face='Lucida Console'>)</font>;
<font color='#009900'>// Now add some random noise to it
</font> dlib::vector<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>double</u></font><font color='#5555FF'>&gt;</font> <font color='#BB00BB'>temp</font><font face='Lucida Console'>(</font>rnd.<font color='#BB00BB'>get_random_gaussian</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>,
rnd.<font color='#BB00BB'>get_random_gaussian</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>,
rnd.<font color='#BB00BB'>get_random_gaussian</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
val <font color='#5555FF'>+</font><font color='#5555FF'>=</font> temp<font color='#5555FF'>/</font><font color='#979000'>20</font>;
<font color='#009900'>// Pick a color based on how far we are along the spiral
</font> rgb_pixel color <font color='#5555FF'>=</font> <font color='#BB00BB'>colormap_jet</font><font face='Lucida Console'>(</font>i,<font color='#979000'>0</font>,<font color='#979000'>20</font><font face='Lucida Console'>)</font>;
<font color='#009900'>// And add the point to the list of points we will display
</font> points.<font color='#BB00BB'>push_back</font><font face='Lucida Console'>(</font>perspective_window::<font color='#BB00BB'>overlay_dot</font><font face='Lucida Console'>(</font>val, color<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
<b>}</b>
<font color='#009900'>// Now finally display the point cloud.
</font> perspective_window win;
win.<font color='#BB00BB'>set_title</font><font face='Lucida Console'>(</font>"<font color='#CC0000'>perspective_window 3D point cloud</font>"<font face='Lucida Console'>)</font>;
win.<font color='#BB00BB'>add_overlay</font><font face='Lucida Console'>(</font>points<font face='Lucida Console'>)</font>;
win.<font color='#BB00BB'>wait_until_closed</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>;
<b>}</b>
<font color='#009900'>// ----------------------------------------------------------------------------
</font>
</pre></body></html>