python3正确使用cv_bridge

如果您在 Python 3.6 环境中导入 cv_bridge 时,它指向的是 /opt/ros/melodic/lib/python2.7/dist-packages/cv_bridge/__init__.py,那么说明您的 Python 3.6 环境中没有正确安装 cv_bridge 包,或者您的 PYTHONPATH 环境变量中包含了指向 Python 2.7 版本的路径。

您可以尝试重新安装 cv_bridge 包,以便在 Python 3.6 环境中正确使用它。由于 ROS Melodic 版本默认使用 Python 2.7,因此您可能需要手动编译 cv_bridge 包以便在 Python 3.6 环境中使用它。您可以按照以下步骤操作:

  1. 安装依赖项。您需要安装一些依赖项才能编译 cv_bridge 包。您可以使用以下命令来安装这些依赖项:
sudo apt-get install python-catkin-tools python3-dev python3-numpy

Copy

  1. 创建 catkin 工作空间。您需要创建一个 catkin 工作空间来存放编译后的包。您可以使用以下命令来创建工作空间:
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws
catkin init
catkin config --cmake-args -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_INCLUDE_DIR=/usr/include/python3.6m -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so
catkin config --install

Copy

  1. 获取源代码并编译。您需要获取 cv_bridge 包的源代码并将其编译为 Python 3.6 版本。您可以使用以下命令来获取源代码并编译它:
cd ~/catkin_ws/src
git clone https://github.com/ros-perception/vision_opencv.git
cd vision_opencv
git checkout melodic
cd ~/catkin_ws
catkin build cv_bridge

Copy

  1. 设置环境变量。在完成编译后,您需要设置一些环境变量才能在 Python 3.6 环境中使用新编译的 cv_bridge 包。您可以使用以下命令来设置环境变量:
source ~/catkin_ws/install/setup.bash --extend

Copy

完成上述步骤后,您应该就可以在 Python 3.6 环境中正确地导入和使用 cv_bridge 包了。

你可能感兴趣的:(python,opencv,开发语言)