点云生成鸟瞰图(Python)

大致思路

  1. 感兴趣区域roi设置
  2. 映射点到像素上
  3. 移动坐标原点
  4. 根据高度值填充像素值

环境配置conda+ros

  1. 因为ros中的包是依赖Python2的,但是我们想用Python3b编程,所以需要安装一个conda环境。

  2. 在.bashrc中修改默认的conda环境变量。

    # Conda
    # export PATH=/home/s/anaconda3/bin:$PATH  # 注释掉conda的环境变量
    
    alias condapy3='. /home/s/anaconda3/etc/profile.d/conda.sh && conda activate py3.7'  # 创建Python3.7的环境
    

    打开终端默认还是python2,输入condapy3才进入python环境。

  3. 在py3.7环境中安装包

    pip install catkin-tools
    pip install rospkg
    

    这样就可以通过虚拟环境编译script文件了

  4. 以这个package为例,使用 catkin_make ,然后rosrun script文件时,要在conda环境下,这样使用的一些package才是指向该conda环境中的package的对应文件。

    我们这个conda环境中的opencv版本如下
    在这里插入图片描述
    所以在执行script文件时打印出来是对应的版本:

    (py3.7) ➜  catkin_ws clear           
    
    (py3.7) ➜  catkin_ws echo $ROS_PACKAGE_PATH
    /home/s/catkin_ws/src:/home/s/ros_study/src:/opt/ros/kinetic/share
    (py3.7) ➜  catkin_ws rosrun aiimooc_syz2 aiimooc_syz2.py
    opencv: 4.2.0
    open3d:0.7.0.0
    

ros实现(Python)

因为cv2和ros自带的cv有矛盾,我们想使用conda中自己安装的cv2,所以在import之前,先把ros中路径移除,在import之后在导入。

bird_eyes.py

#!/usr/bin/env python3
# use python3 in current conda env!!!

# import cv2 in conda rather than in ros
import sys
sys.path.remove('/opt/ros/kinetic/lib/python2.7/dist-packages')
import cv2
# 使用完cv2后再导入ros路径
sys.path.append('/opt/ros/kinetic/lib/python2.7/dist-packages')
from cv_bridge import CvBridge
import numpy as np
import rospy
from sensor_msgs.msg import PointCloud2,Image
import sensor_msgs.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Tech沉思录

点赞加投币,感谢您的资瓷~

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

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

打赏作者

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

抵扣说明:

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

余额充值