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;
}

内容概要:《2024年中国城市低空经济发展指数报告》由36氪研究院发布,指出低空经济作为新质生产力的代表,已成为中国经济新的增长。报告从发展环境、资金投入、创新能力、基础支撑和发展成效五个维度构建了综合指数评价体系,评估了全国重城市的低空经济发展状况。北京和深圳在总指数中名列前茅,分别以91.26和84.53的得分领先,展现出强大的资金投入、创新能力和基础支撑。低空经济主要涉及无人机、eVTOL(电动垂直起降飞行器)和直升机等产品,广泛应用于农业、物流、交通、应急救援等领域。政策支持、市场需求和技术进步共同推动了低空经济的快速发展,预计到2026年市场规模将突破万亿元。 适用人群:对低空经济发展感兴趣的政策制定者、投资者、企业和研究人员。 使用场景及目标:①了解低空经济的定义、分类和发展驱动力;②掌握低空经济的主要应用场景和市场规模预测;③评估各城市在低空经济发展中的表现和潜力;④为政策制定、投资决策和企业发展提供参考依据。 其他说明:报告强调了政策监管、产业生态建设和区域融合错位的重要性,提出了加强法律法规建设、人才储备和基础设施建设等建议。低空经济正加速向网络化、智能化、规模化和集聚化方向发展,各地应找准自身比较优势,实现差异化发展。
数据集一个高质量的医学图像数据集,专门用于脑肿瘤的检测和分类研究以下是关于这个数据集的详细介绍:该数据集包含5249张脑部MRI图像,分为训练集和验证集。每张图像都标注了边界框(Bounding Boxes),并按照脑肿瘤的类型分为四个类别:胶质瘤(Glioma)、脑膜瘤(Meningioma)、无肿瘤(No Tumor)和垂体瘤(Pituitary)。这些图像涵盖了不同的MRI扫描角度,包括矢状面、轴面和冠状面,能够全面覆盖脑部解剖结构,为模型训练提供了丰富多样的数据基础。高质量标注:边界框是通过LabelImg工具手动标注的,标注过程严谨,确保了标注的准确性和可靠性。多角度覆盖:图像从不同的MRI扫描角度拍摄,包括矢状面、轴面和冠状面,能够全面覆盖脑部解剖结构。数据清洗与筛选:数据集在创建过程中经过了彻底的清洗,去除了噪声、错误标注和质量不佳的图像,保证了数据的高质量。该数据集非常适合用于训练和验证深度学习模型,以实现脑肿瘤的检测和分类。它为开发医学图像处理中的计算机视觉应用提供了坚实的基础,能够帮助研究人员和开发人员构建更准确、更可靠的脑肿瘤诊断系统。这个数据集为脑肿瘤检测和分类的研究提供了宝贵的资源,能够帮助研究人员开发出更准确、更高效的诊断工具,从而为脑肿瘤患者的早期诊断和治疗规划提供支持。
### 在 Visual Studio 2022 中设置和使用 PCL 云库 #### 安装依赖项 为了成功配置 PCL 库,在 Windows 上通常需要安装一些必要的依赖包,这些包括但不限于 CMake 和其他支持库。对于 Win11 系统下的 VS2022 来说,确保已经下载并正确设置了 PCL 版本 1.11.1 的环境[^2]。 #### 下载与解压 PCL 文件 获取 `pcl-1.11.1-pdb-msvc2019-win64.zip` 并将其解压缩至指定位置。特别注意的是 `.pdb` 调试符号文件应当被放置于路径如 `E:\PCL 1.11.1\bin` 内以便调试时能够正常工作。 #### 创建新项目或打开现有项目 启动 Visual Studio 2022 后可以选择创建一个新的控制台应用程序或其他类型的工程来测试 PCL 功能;也可以加载现有的解决方案来进行集成开发。 #### 设置项目的属性页 进入项目的 **Properties** 页面调整编译器选项: - **C/C++ -> General** - 将 `Additional Include Directories` 添加指向 PCL 头文件的位置, 例如 `E:\PCL 1.11.1\include\pcl-1.11` - **Linker -> General** - 修改 `Additional Library Directories`, 加入 PCL 库所在的目录比如 `E:\PCL 1.11.1\lib` - **Linker -> Input** - 更新 `Additional Dependencies` 列表加入所需的静态链接库 (.lib),像 `pcl_common_release.lib; pcl_io_release.lib` 等等 #### 编写简单的 PCD 文件读取程序 下面给出一段用于验证配置是否成功的简单代码片段: ```cpp #include <iostream> #include <pcl/io/pcd_io.h> #include <pcl/point_types.h> int main(int argc, char** argv) { pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>); // Load point cloud data from a file. if (pcl::io::loadPCDFile<pcl::PointXYZ>("test_pcd.pcd", *cloud) == -1) //* load the file { PCL_ERROR("Couldn't read file test_pcd.pcd \n"); return (-1); } std::cout << "Loaded " << cloud->width * cloud->height << " data points from test_pcd.pcd with the following fields: " << std::endl; } ``` 通过上述步骤应该可以在 Visual Studio 2022 中顺利地建立基于 PCL 的应用实例,并实现基本功能演示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

养牛大人

感谢您的鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值