当前位置: 首页 > news >正文

vs2022 pcl1.15.0注意点

 pcl1.15.0的版本变化很大,其中有一个地方需要设置成如下图所示   

如果不设置生成的时候可能有以下错误:

严重性    代码    说明    项目    文件    行    禁止显示状态    详细信息
错误    C1189    #error:  "Potential runtime error due to aligned malloc mismatch! You likely have to compile your code with AVX enabled or define EIGEN_MAX_ALIGN_BYTES=32 (to silence this message at your own risk, define PCL_SILENCE_MALLOC_WARNING=1)"    Project5Pcl1.15.0    D:\PCL1.15.0\include\pcl-1.15\pcl\memory.h    61    

 

pcl1.15.0其中一个变化是io.h放在common里面了

可用的测试代码:

#include<pcl/visualization/cloud_viewer.h>
#include<iostream>//标准C++库中的输入输出类相关头文件。
#include<pcl/common/io.h>
#include<pcl/io/pcd_io.h>//pcd 读写类相关的头文件。
#include<pcl/io/ply_io.h>
#include<pcl/point_types.h> //PCL中支持的点类型头文件。
int user_data;
using std::cout;

void viewerOneOff(pcl::visualization::PCLVisualizer& viewer)
{
	viewer.setBackgroundColor(1.0, 0.5, 1.0);   //设置背景颜色
}

int main() {
	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);

	char strfilepath[256] = "d:\\rabbit.pcd";
	if (-1 == pcl::io::loadPCDFile(strfilepath, *cloud)) {
		cout << "error input!" << endl;
		return -1;
	}

	cout << cloud->points.size() << endl;
	pcl::visualization::CloudViewer viewer("Cloud Viewer");     //创建viewer对象

	viewer.showCloud(cloud);
	viewer.runOnVisualizationThreadOnce(viewerOneOff);
	system("pause");
	return 0;
}

#include <vtkNew.h>
#include <vtkPointSource.h>
#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/io/vtk_lib_io.h>
#include <pcl/point_types.h>
#include <boost/thread/thread.hpp>
#include <pcl/visualization/pcl_visualizer.h>

int main(int, char* [])
{
	// -------------------------生成位于球面上的点云---------------------------
	vtkNew<vtkPointSource> pointSource;
	pointSource->SetCenter(0.0, 0.0, 0.0);
	pointSource->SetNumberOfPoints(5000);
	pointSource->SetRadius(5.0);
	pointSource->SetDistributionToShell();  // 设置点分布在球面上。
	pointSource->Update();
	// ---------------------------转为PCD点云并保存----------------------------
	vtkSmartPointer<vtkPolyData> polydata = pointSource->GetOutput(); // 获取VTK中的PolyData数据
	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
	pcl::io::vtkPolyDataToPointCloud(polydata, *cloud);
	pcl::PCDWriter w;
	w.writeBinaryCompressed("sphere.pcd", *cloud);
	// -------------------------------结果可视化-------------------------------
	boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer(new pcl::visualization::PCLVisualizer("3D Viewer"));
	viewer->setBackgroundColor(0, 0, 0);
	viewer->setWindowName(u8"生成球形点云");
	pcl::visualization::PointCloudColorHandlerGenericField<pcl::PointXYZ> fildColor(cloud, "z"); // 按照z字段进行渲染
	viewer->addPointCloud<pcl::PointXYZ>(cloud, fildColor, "sample cloud");
	viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 2, "sample cloud"); // 设置点云大小

	while (!viewer->wasStopped())
	{
		viewer->spinOnce(100);
		boost::this_thread::sleep(boost::posix_time::microseconds(100000));
	}

	return 0;
}

相关文章:

  • 实现当文本内容过长时,中间显示省略号...,两端正常展示
  • K8S+Prometheus+Consul+alertWebhook实现全链路服务自动发现与监控、告警配置实战
  • GitHub 趋势日报 (2025年04月12日)
  • 【C++】继承:万字总结
  • 《2025四大AI终极对决:如何用ChatGPT、DeepSeek、通义千问和文心一言提升项目管理效率?》
  • STM32 HAL库SPI读写W25Q128(软件模拟+硬件spi)
  • Python基础总结(四)之元组
  • 计算机视觉6——相机基础
  • (自用)毕业论文格式
  • 文件操作和 IO - 一些具体的使用栗子
  • 动手学深度学习:手语视频在VGG模型中的测试
  • 测试 笔记
  • 【计网】网络交换技术之报文交换(复习自用,了解,重要3)
  • 0x06.Redis 中常见的数据类型有哪些?
  • FutureTask 源码解析
  • 深入剖析 Axios 的 POST 请求:何时使用 qs 处理数据
  • 0基础 | 硬件滤波 C、RC、LC、π型
  • 基于Springboot+Mysql的闲一品(含LW+PPT+源码+系统演示视频+安装说明)
  • [16届蓝桥杯 2025 c++省 B] 水质检测
  • Axure疑难杂症:详解横向菜单左右拖动效果及阈值说明
  • 国税总局上海市税务局通报:收到王某对刘某某及相关企业涉税问题举报,正依法依规办理
  • 国防部:中方愿与俄方不断增强两军关系良好发展势头
  • 四个“从未如此”使巴以加沙战火绵延时间创下历史之最
  • 陕西省安康市汉阴县县长陈永乐已任汉阴县委书记
  • 陕西宁强县委书记李宽任汉中市副市长
  • GDP逼近五千亿,向海图强,对接京津,沧州剑指沿海经济强市