CGAL中如何使point类型点云变为红色
要使点云变为红色,您需要使用CGAL的可视化工具来显示点云。以下是一些示例代码:
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/point_generators_3.h>
#include <CGAL/IO/Color.h>
#include <CGAL/IO/Color_converter.h>
#include <CGAL/IO/PLY_reader.h>
#include <CGAL/IO/PLY_writer.h>
#include <CGAL/IO/Polyhedron_iostream.h>
#include <CGAL/IO/Qt_widget.h>
#include <CGAL/IO/Qt_widget_Point_3.h>
#include <CGAL/IO/Qt_widget_Polyhedron_3.h>
#include <CGAL/IO/Qt_widget_Sphere_3.h>
#include <CGAL/IO/Qt_widget_Triangulation_3.h>
#include <CGAL/IO/Qt_widget_Vector_3.h>
#include <CGAL/IO/Qt_widget_Voronoi_diagram_2.h>
#include <CGAL/IO/Qt_widget_Voronoi_diagram_3.h>
#include <CGAL/IO/Qt_widget_surface_mesher.h>
#include <CGAL/IO/read_xyz_points.h>
#include <CGAL/IO/write_xyz_points.h>
#include <CGAL/Kernel/global_functions.h>
#include <CGAL/Random.h>
#include <CGAL/Simple_cartesian.h>
#include <CGAL/Timer.h>
#include <CGAL/point_generators_2.h>
#include <CGAL/point_generators_3.h>
#include <CGAL/predicates_on_points_3.h>
#include <CGAL/property_map.h>
#include <CGAL/segment_intersection_points_2.h>
#include <CGAL/subdivision_method_3.h>
#include <CGAL/voronoi_diagram_2.h>
#include <CGAL/voronoi_diagram_3.h>
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
#include <iostream>
#include <fstream>
#include <vector>
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef K::Point_3 Point_3;
typedef std::vector<Point_3> PointList;
int main(int argc, char** argv)
{
// Read in point cloud from file
PointList points;
std::ifstream input("point_cloud.xyz");
if (!input.is_open())
{
std::cerr << "Failed to open file!" << std::endl;
return 1;
}
CGAL::read_xyz_points(input, std::back_inserter(points));
// Create Qt widget for visualization
QApplication app(argc, argv);
CGAL::Qt_widget widget;
// Set point color to red
CGAL::Color red(255, 0, 0);
CGAL::Color_converter<K, CGAL::Color> color_converter;
CGAL::Qt_widget_Point_3* point_widget = widget.add_points(points.begin(), points.end(), color_converter(red));
// Show widget and enter event loop
widget.show();
return app.exec();
}
在上面的代码中,我们首先从文件中读取点云,然后创建一个Qt小部件来显示它。要将点云颜色设置为红色,我们创建一个CGAL颜色对象,然后使用CGAL的颜色转换器将其转换为Qt颜色。最后,我们将点云添加到Qt小部件中,并将其显示出来
原文地址: http://www.cveoy.top/t/topic/cu6S 著作权归作者所有。请勿转载和采集!