Jetson xavier NX / ubuntu18.04 /ros melodic/python3安裝使用cv_bridge

最開始是出現問題:

from cv_bridge.boost.cv_bridge_boost import getCvType
ImportError: dynamic module does not define module export function (PyInit_cv_bridge_boost)

然後開始安裝cv_bridge
下面是安裝步驟:
1、相關依赖

sudo apt-get install python-catkin-tools python3-dev python3-catkin-pkg-modules python3-numpy python3-yaml ros-melodic-cv-bridge

2、創建工作空間,設置變量
注意架構,最好自己從路徑中確認一下

mkdir -p catkin_workspace/src

cd catkin_workspace

catkin config -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_INCLUDE_DIR=/usr/include/python3.6m -DPYTHON_LIBRARY=/usr/lib/aarch64-linux-gnu/libpython3.6m.so

3、指示catkin将内置包安装到安装位置,这一步不成功也没关系,可不用。

catkin config --install

4、在catkin_workspace工作空间中克隆 cv_bridge src

5、在存储库中查找cv_bridge的版本, 我是melodic

apt-cache show ros-melodic-cv-bridge | grep Version

6、在git repo中签出正确的版本,我是1.13.0

cd src/vision_opencv/

git checkout 1.13.0

cd ../../

7、開始編譯

catkin build 或者 catkin build cv_bridge

編譯的時候出現了新的問題:

/home/nvidia/software/catkin_workspace/src/vision_opencv/cv_bridge/src/module_opencv2.cpp:151:16:
error: cannot declare variable ‘g_numpyAllocator’ to be of abstract
type ‘NumpyAllocator’

解決辦法:

In cv_bridge/src CMakeLists.txt line 35 change to if (OpenCV_VERSION_MAJOR VERSION_EQUAL 4)

In cv_bridge/src/module_opencv3.cpp change signature of two functions:
1:
UMatData* allocate(int dims0, const int* sizes, int type, void* data, size_t* step, int flags, UMatUsageFlags usageFlags) const
to
UMatData* allocate(int dims0, const int* sizes, int type, void* data, size_t* step, AccessFlag flags, UMatUsageFlags usageFlags) const

2:
 bool allocate(UMatData* u, int accessFlags, UMatUsageFlags usageFlags) const
to
bool allocate(UMatData* u, AccessFlag accessFlags, UMatUsageFlags usageFlags) const

8、使用之前記得source

source install/setup.bash --extend

reference:
https://zhuanlan.zhihu.com/p/356441425
https://blog.csdn.net/weixin_42675603/article/details/107785376
https://www.guyuehome.com/34115

Original: https://blog.csdn.net/qq_33980935/article/details/123132452
Author: 爱吃橙子的牧羊女
Title: Jetson xavier NX / ubuntu18.04 /ros melodic/python3安裝使用cv_bridge

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/703083/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球