Windows10下在python3.7中配置Python-pcl0.3.0的艰难历程
·
注意!注意!注意!如果没有安装vs+pcl,请出门右拐,找一些vs配置pcl的教程。(加油,配置过程中时刻告诉自己,我可以的)我的版本是vs2019+pcl 1.9.0 (建议不要高于1.9.0,要不然会失败哦),接下来我们开始。
1.配置好vs2019+pcl1.9.0之后,还需要检查一下自己的环境配置。对照下图,如果发现自己没有,手动添加!!!

在path中对照以下信息!!!

2.下载python-pcl和windosGtk+
python-pcl打包全部下载
下载完成以后,将windosGtk+文件夹解压,将解压后的文件中 bin文件夹下的全部内容,复制到python-pcl文件中的pkg-config文件夹内部。
3.安装配置
我的python的版本是3.7(一定要3.7,其他版本不可以),建议与我的一样,如果你的pcl版本为1.8,可以选择python3.6。
pip3 install --upgrade pip pip3 install cython pip3 install numpy
如果执行pip升级以后,pip模块错误,则执行,以下语句。
python -m ensurepip python -m pip install --upgrade pip
4.接下来开始编译,通过cmd进入python-pcl文件夹下,执行以下语句
python setup.py build_ext -i python setup.py install
然后就可以成功了,下面展示一下测试内容!!!(建议各个软件的版本不要改变)
# -*- coding: utf-8 -*-
from __future__ import print_function
import numpy as np
import pcl
import pcl.pcl_visualization as viewer # 引入可视化库
def main():
# 通过pcl.load加载pcd文件
cloud2 = pcl.load("2.pcd")
cloud1 = pcl.load("2.pcd")
cloud2 = np.array(cloud2) # 这里转换成数组是为了进行一个平移,能够看出来两个点云的差异
print(cloud2.shape)
for x in range(cloud2.shape[0]):
cloud2[x] = cloud2[x] + 2
cloud1 = np.array(cloud1)
# 如何将数组类型转换成点云所需要的数据类型
cloud2 = pcl.PointCloud(cloud2)
cloud1 = pcl.PointCloud(cloud1)
visualcolor1 = pcl.pcl_visualization.PointCloudColorHandleringCustom(cloud2, 0, 255, 0)
visualcolor2 = pcl.pcl_visualization.PointCloudColorHandleringCustom(cloud1, 255, 0, 0)
vs = pcl.pcl_visualization.PCLVisualizering
vss1 = pcl.pcl_visualization.PCLVisualizering() # 初始化一个对象,这里是很重要的一步
vs.AddPointCloud_ColorHandler(vss1, cloud1, visualcolor2, id=b'cloud', viewport=0)
vs.AddPointCloud_ColorHandler(vss1, cloud2, visualcolor1, id=b'cloud1', viewport=0)
v = True
while not vs.WasStopped(vss1):
vs.Spin(vss1)
if __name__ == "__main__":
main()
效果显示

祝大家好运!!!
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)